이메일 설정
이메일 설정 (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_backend는 airflow.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에서 확인할 수 있어요.