이메일 설정

이메일 설정 (Email Configuration)

Airflow가 보내는 이메일을 airflow.cfg에서 구성하는 방법을 설명하는 문서예요. [email] 섹션에서 제목·HTML 콘텐츠 템플릿과 발신자 주소를 지정하고, SMTP 설정이나 대체 이메일 백엔드를 사용하는 방법을 살펴볼게요.

출처: 문서

본문

보내는 이메일은 airflow.cfg[email] 섹션에서 subject_template과/또는 html_content_template을 설정해 구성할 수 있어요.

[email]
email_backend = airflow.utils.email.send_email_smtp
subject_template = /path/to/my_subject_template_file
html_content_template = /path/to/my_html_content_template_file

동등한 환경 변수는 다음과 같아요:

AIRFLOW__EMAIL__EMAIL_BACKEND=airflow.utils.email.send_email_smtp
AIRFLOW__EMAIL__SUBJECT_TEMPLATE=/path/to/my_subject_template_file
AIRFLOW__EMAIL__HTML_CONTENT_TEMPLATE=/path/to/my_html_content_template_file

[email] 섹션에서 from_email을 설정해 발신자 이메일 주소를 구성할 수 있어요:

[email]
from_email = "John Doe <[email protected]>"

동등한 환경 변수는 다음과 같아요:

AIRFLOW__EMAIL__FROM_EMAIL="John Doe <[email protected]>"

기본적으로 email_backendairflow.utils.email.send_email_smtp로 설정되어 SMTP를 통해 이메일을 보내요.

SMTP 설정을 구성하려면 표준 구성의 SMTP 섹션을 확인하세요. SMTP 자격 증명을 구성이나 환경 변수에 저장하고 싶지 않다면, Email 타입의 smtp_default라는 connection을 만들거나 커스텀 connection 이름을 골라 구성에서 email_conn_id에 그 이름을 설정하고 SMTP username-password를 저장할 수 있어요. host, port 같은 다른 SMTP 설정은 항상 구성에서만 가져와요. connection은 어떤 타입도 될 수 있어요(예: 'HTTP connection').

현재 어떤 이메일 백엔드가 설정되어 있는지 확인하려면 아래 예시처럼 airflow config get-value email email_backend 명령을 사용할 수 있어요.

$ airflow config get-value email email_backend
airflow.utils.email.send_email_smtp

태스크 정보에 접근하려면 템플릿 파일에서 Jinja Templating을 사용해요.

예를 들어 html_content_template 파일은 이렇게 생길 수 있어요:

Try {{try_number}} out of {{max_tries + 1}}<br>
Exception:<br>{{exception_html}}<br>
Log: <a href="{{ti.log_url}}">Link</a><br>
Host: {{ti.hostname}}<br>
Mark success: <a href="{{ti.mark_success_url}}">Link</a><br>

참고 (Note)

설정에 대한 자세한 내용은 Setting Configuration Options을 참고하세요.

대체 이메일 백엔드 (Alternative email backends)

SMTP 대신 이메일을 보내려면 email_backend를 커뮤니티 provider가 제공하는 구현으로 지정해 제3자 서비스의 API를 통해 이메일을 보낼 수 있어요. 사용하려면 관련 provider 배포판을 설치하고, email_backend를 그 send_email 함수의 dotted path로 설정하고, email_conn_id를 그것이 필요로 하는 자격 증명을 담은 connection으로 설정하세요.

커뮤니티가 관리하는 provider가 제공하는 이메일 백엔드 목록은 Email backends에서 확인할 수 있어요.

더 알아보기 (Learn more)