[Airflow] Email 오퍼레이터 사용해보기 (Gmail 서버 사용)

2024. 7. 19. 18:01·Minding's Programming/Airflow
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

'Minding's Programming > Airflow' 카테고리의 다른 글

[Python] 파이썬 함수 파라미터 *args와 **kwargs  (0) 2024.07.22
[Airflow] Python Operator 사용과 Python Decorator  (0) 2024.07.22
[Airflow] Bash Operator로 쉘 스크립트 파일 실행하기  (0) 2024.07.19
[Airflow] DAG 내 task 연결하기 (순서 지정)  (0) 2024.07.19
[Airflow/Cron] Cron 스케줄 개념 정리  (0) 2024.07.19
'Minding's Programming/Airflow' 카테고리의 다른 글
  • [Python] 파이썬 함수 파라미터 *args와 **kwargs
  • [Airflow] Python Operator 사용과 Python Decorator
  • [Airflow] Bash Operator로 쉘 스크립트 파일 실행하기
  • [Airflow] DAG 내 task 연결하기 (순서 지정)
Minding
Minding
  • Minding
    Today's Minding
    Minding
  • 전체
    오늘
    어제
    • 울고넘는 딥러닝 (278)
      • Minding's Baseball (57)
        • MLB Statcast (29)
        • 머신러닝으로 홈런왕 예측하기 (3)
        • 야구칼럼 (12)
        • 야구 규칙, 용어 (1)
        • 2022-23 질롱 코리아 (8)
        • 류현진 등판경기 (4)
      • Minding's Programming (185)
        • 프로그래머스 코딩테스트 (21)
        • Knowledge (44)
        • Numpy & Pandas (6)
        • Excel (3)
        • Git (1)
        • Pygame (11)
        • CV (3)
        • Tensorflow tutorial (4)
        • Kaggle and Dacon (4)
        • 에러 코드 (8)
        • FastAPI (8)
        • Airflow (29)
        • Crawling (6)
        • Django (14)
        • AWS (18)
        • Spark (5)
      • Minding's Reading (30)
        • 머신러닝 딥러닝에 필요한 기초 수학 with 파이.. (2)
        • 칼만필터는 어렵지 않아 (11)
        • 밑바닥부터 시작하는 딥러닝 (6)
        • 메이저리그 야구 통계학 2e (8)
        • 논문읽기 (2)
        • 빅데이터를 지탱하는 기술 (1)
      • Minding's Life (5)
        • 주식 (4)
        • 각종 소식 (1)
  • 블로그 메뉴

    • 홈
    • Baseball
    • Programming
    • Reading
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Airflow
    머신러닝
    파이썬
    django python
    mlb stats api
    칼만필터는어렵지않아python
    Python
    데이터 엔지니어
    KBO
    칼만필터는어렵지않아파이썬
    MLB
    KalmanFilter
    칼만필터는어렵지않아
    FastAPI
    AWS
    야구
    에어플로우
    파이게임
    프로그래머스
    게임개발
    메이저리그
    코딩테스트
    pygame
    딥러닝
    칼만필터
    질롱코리아
    파이썬게임개발
    넘파이
    django
    데이터분석
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Minding
[Airflow] Email 오퍼레이터 사용해보기 (Gmail 서버 사용)
상단으로

티스토리툴바