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 |