인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

edu2님의 프로필 이미지

작성한 질문수

Airflow 마스터 클래스

Email Operator로 메일 전송하기

Email Operator로 메일 전송하기 task 실패

작성

·

122

0

수업내용 따라서 dag 작성 및 docker-compose.yaml 파일 수정하고 실행하였는데,
ConnectionRefusedError: [Errno 111] Connection refused
해당 오류로 작업실패를 하게 됩니다. 어떻게 해결하면 될지 도움 부탁드립니다.😭

스크린샷 2025-01-15 오후 5.20.02.png스크린샷 2025-01-15 오후 5.20.16.pngimage.png

 

답변 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

edu2님의 프로필 이미지
edu2
질문자

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

김현진님의 프로필 이미지
김현진
지식공유자

해결되었다니 다행입니다. ^^

그런데 원인이 뭐였나요?

제가 알려드린 건 원인을 찾아가는 과정이었는데... 벌써 문제를 찾으셨다니 문제가 뭐였는지 궁금하네요 ^^

edu2님의 프로필 이미지
edu2
질문자

정확한 이유는 모르겠습니다만, 제가 했던 시도는 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 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

edu2님, Email Operator를 사용한 메일 전송 실패 관련 문제에 대해 도와드리겠습니다. ConnectionRefusedError: [Errno 111] Connection refused 오류는 일반적으로 SMTP 서버와의 연결을 설정하는 데 실패했음을 의미합니다. 이와 관련하여 몇 가지 문제 확인 사항과 해결 방법을 안내드리겠습니다:

  1. SMTP 서버 설정 확인:

    • docker-compose.yaml 파일 내에 SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD가 정확히 설정되었는지 확인해 주세요.
    • 일반적으로 smtp.gmail.com과 포트 587이 이메일 전송에 사용됩니다.
  2. SMTP 서버와의 연결 가능 여부 확인:

    • Airflow가 실행되는 환경에서 Google SMTP 서버에 직접 연결할 수 있는지 확인해 보세요. 이를 확인하기 위해 터미널이나 커맨드 라인에서 telnet smtp.gmail.com 587 명령어를 입력하여 서버 연결이 허용되는지 테스트할 수 있습니다.
  3. Gmail 보안 설정 확인:

    • 만약 Gmail을 사용 중이라면, ‘보안 수준이 낮은 앱 허용’이 활성화되어 있는지 확인하거나, 2단계 인증을 사용 중이라면 앱 비밀번호를 생성해서 사용해야 합니다.
  4. Airflow SMTP 설정:

    • airflow.cfg 또는 Airflow 웹 UI를 통해 SMTP 설정이 올바르게 구성되어 있는지 확인해 주세요.
  5. 네트워크 설정 문제 확인:

    • Docker 환경 내 컨테이너 네트워크 설정을 확인하여 내부 네트워크에서 외부로 SMTP 요청을 제대로 보낼 수 있는지 확인해야 합니다.

유사한 문제를 해결한 다른 사용자들의 경험을 통해 추가적인 정보를 얻고자 한다면, EmailOperator로 메일 전송하기 실패를 참조해 보시면 도움이 될 수 있습니다.

제가 제공한 안내가 도움이 되었기를 바라며, 추가적으로 궁금한 점이 있으시면 추가 질문해 주세요. 곧 강의 지식공유자께서도 답변해 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

edu2님의 프로필 이미지

작성한 질문수

질문하기