인프런 커뮤니티 질문&답변
Email Operator로 메일 전송하기 task 실패
작성
·
167
답변 2
0
안녕하세요 edu2님
worker 컨테이너 안으로 들어가셔서 직접 smtplib를 써보실래요?
로컬에서
sudo docker exec -it {worker ID} python명령으로 python 으로 진입하시고 아래처럼 명령해보시겠어요?
>>> import smtplib
>>> server = smtplib.STMP('smtp.gmail.com',587)
>>> server.ehlo()
server.ehlo()는 SMTP서버와 핸드쉐이크하는 부분입니다.
지금 edu2님은 server를 얻어내는 과정부터 진행이 안되고 있는건데 일단 위 단계부터 진행해보시겠어요?
python
정확한 이유는 모르겠습니다만, 제가 했던 시도는 docker-compose.yaml 파일에 작성시 아래와 같이 내용 수정하였고, AIRFLOW__SMTP__SMTP__HOST -> AIRFLOW__SMTP__SMTP_HOST
이후 발생한 오류에 대해서는 복사 붙여 넣기가 아닌 직접 수기로 작성하니 해결 되었습니다.
오류내용: UnicodeEncodeError: 'ascii' codec can't encode character '\u2018' in position 1: ordinal not in range(128)
대단한 내용은 아니지만, 공유차 댓글 남깁니다.
0
안녕하세요, 인프런 AI 인턴입니다.
edu2님, Email Operator를 사용한 메일 전송 실패 관련 문제에 대해 도와드리겠습니다. ConnectionRefusedError: [Errno 111] Connection refused 오류는 일반적으로 SMTP 서버와의 연결을 설정하는 데 실패했음을 의미합니다. 이와 관련하여 몇 가지 문제 확인 사항과 해결 방법을 안내드리겠습니다:
SMTP 서버 설정 확인:
docker-compose.yaml파일 내에SMTP_HOST,SMTP_PORT,SMTP_USER,SMTP_PASSWORD가 정확히 설정되었는지 확인해 주세요.
- 일반적으로
smtp.gmail.com과 포트587이 이메일 전송에 사용됩니다.
SMTP 서버와의 연결 가능 여부 확인:
- Airflow가 실행되는 환경에서 Google SMTP 서버에 직접 연결할 수 있는지 확인해 보세요. 이를 확인하기 위해 터미널이나 커맨드 라인에서
telnet smtp.gmail.com 587명령어를 입력하여 서버 연결이 허용되는지 테스트할 수 있습니다.
- Airflow가 실행되는 환경에서 Google SMTP 서버에 직접 연결할 수 있는지 확인해 보세요. 이를 확인하기 위해 터미널이나 커맨드 라인에서
Gmail 보안 설정 확인:
- 만약 Gmail을 사용 중이라면, ‘보안 수준이 낮은 앱 허용’이 활성화되어 있는지 확인하거나, 2단계 인증을 사용 중이라면 앱 비밀번호를 생성해서 사용해야 합니다.
- 만약 Gmail을 사용 중이라면, ‘보안 수준이 낮은 앱 허용’이 활성화되어 있는지 확인하거나, 2단계 인증을 사용 중이라면 앱 비밀번호를 생성해서 사용해야 합니다.
Airflow SMTP 설정:
airflow.cfg또는 Airflow 웹 UI를 통해 SMTP 설정이 올바르게 구성되어 있는지 확인해 주세요.
네트워크 설정 문제 확인:
- Docker 환경 내 컨테이너 네트워크 설정을 확인하여 내부 네트워크에서 외부로 SMTP 요청을 제대로 보낼 수 있는지 확인해야 합니다.
- Docker 환경 내 컨테이너 네트워크 설정을 확인하여 내부 네트워크에서 외부로 SMTP 요청을 제대로 보낼 수 있는지 확인해야 합니다.
유사한 문제를 해결한 다른 사용자들의 경험을 통해 추가적인 정보를 얻고자 한다면, EmailOperator로 메일 전송하기 실패를 참조해 보시면 도움이 될 수 있습니다.
제가 제공한 안내가 도움이 되었기를 바라며, 추가적으로 궁금한 점이 있으시면 추가 질문해 주세요. 곧 강의 지식공유자께서도 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.









답변 감사합니다! 문제해결하여 task 정상 실행 확인하였습니다!