Minding's Programming/Airflow
[Airflow] Email 오퍼레이터 사용해보기 (Gmail 서버 사용)
Minding
2024. 7. 19. 18:01
728x90
반응형
Gmail 사전 설정 작업
Gmail > 설정 > 모든 설정보기 > 전달 및 POP/IMAP > IMAP 사용
구글 계정관리 > 보안 > 2단계 인증 > 앱 비밀번호 세팅
여기서 발급받은 비밀번호는 다시 볼 수 없으니 꼭 기억해두어야 한다.
airflow 설정
vi 편집기를 이용해 docker-compose.yaml 파일에 해당 내용을 추가해주어야 한다.
AIRFLOW__SMTP__SMTP_HOST: 'smtp.gmail.com' # 사용할 서버
AIRFLOW__SMTP__SMTP_USER: 'tlsfk48@gmail.com' # 로그인할 계정
AIRFLOW__SMTP__SMTP_PASSWORD: '{password}' # 앱 비밀번호
AIRFLOW__SMTP__SMTP_PORT: 587 # 사용할 포트
AIRFLOW__SMTP__SMTP_MAIL_FROM: 'tlsfk48@gmail.com' # 보내는 사람으로 명시될 계정
파일을 열어 아래로 내리다 보면 enviroment라는 부분이 나오는데, 그 부분 하단에 이 내용들을 적어주면 된다.
그리고 난 뒤 아래 코드처럼 DAG 파일을 만들어 Airflow에서 잘 돌아가는지 확인하면 된다!
from airflow import DAG
import pendulum
import datetime
from airflow.operators.email import EmailOperator
with DAG(
dag_id="dags_email_operator",
schedule="0 8 1 * *", # 매월 1일 8시
start_date=pendulum.datetime(2024, 7, 1, tz="Asia/Seoul"),
catchup=False
) as dag:
send_email_task = EmailOperator(
task_id='send_email_task',
to='tlsfkaus4862@naver.com', # 수신자
# cc= '참조'
subject='Airflow 성공메일', # 제목
html_content='Airflow 작업이 완료되었습니다' # 내용
)
나는 gmail 계정으로 naver 계정에 메일을 보내는 것으로 실험해보았다.
결과는 성공적으로 메일이 전송되었다.
728x90