docker exec -it <container_name> /bin/bash
명령어를 통해 Airflow 컨테이너로 들어갑니다.~/airflow/airflow.cfg
에서 SMTP 설정을 편집합니다.[smtp]
섹션에 SMTP 서버 정보와 사용자 인증 정보를 입력합니다.먼저 Airflow가 실행되는 Docker 컨테이너 내부로 접속합니다. 아래 명령어를 사용하여 컨테이너로 들어갑니다:
docker exec -it <container_name> /bin/bash
여기서 <container_name>
은 실행 중인 Airflow 컨테이너 이름으로 대체하세요.
airflow.cfg
파일 위치 확인컨테이너 내부에서 Airflow 설정 파일인 airflow.cfg
파일이 위치한 경로를 확인합니다. 기본적으로 이 파일은 ~/airflow/airflow.cfg
에 위치해 있습니다.
ls ~/airflow/airflow.cfg
airflow.cfg
파일을 편집하여 SMTP 설정을 추가하거나 수정합니다. 기본적으로 [smtp]
섹션을 수정해야 합니다. 편집을 위해 vi
나 nano
에디터를 사용할 수 있습니다:
nano ~/airflow/airflow.cfg
airflow.cfg
의 [smtp]
섹션 예시[smtp]
smtp_host = smtp.gmail.com # SMTP 서버 주소 (예: Gmail SMTP)
smtp_starttls = True # TLS 사용 여부
smtp_ssl = False # SSL 사용 여부
smtp_port = 587 # SMTP 서버 포트 (TLS는 587)
smtp_mail_from = your_email@gmail.com # 이메일 발신 주소
smtp_user = your_email@gmail.com # SMTP 사용자 이름
smtp_password = your_gmail_app_password # SMTP 비밀번호 (앱 비밀번호 사용 권장)
참고: Gmail을 사용할 경우, 일반 비밀번호 대신 앱 비밀번호를 생성하여 사용해야 합니다. 앱 비밀번호 생성 가이드를 참고하세요.
SMTP 설정이 올바른지 확인하기 위해 SMTP 서버 연결을 테스트하는 Python 스크립트를 사용할 수 있습니다. 아래 스크립트를 이용해 SMTP 서버와의 연결 여부를 확인합니다.
import smtplib
smtp_host = 'smtp.gmail.com'
smtp_port = 587
smtp_user = 'your_email@gmail.com'
smtp_password = 'your_gmail_app_password'
try:
server = smtplib.SMTP(smtp_host, smtp_port, timeout=10)
server.ehlo()
server.starttls()
server.ehlo()
server.login(smtp_user, smtp_password)
print("SMTP 연결 성공")
server.quit()
except Exception as e:
print(f"SMTP 연결 실패: {e}")
위 스크립트를 smtp_test.py
로 저장한 후 컨테이너 내부에서 실행하여 SMTP 연결 성공 여부를 확인합니다:
python smtp_test.py
SMTP 설정을 수정한 후 Airflow 서비스를 재시작하여 변경 사항이 적용되도록 합니다.
airflow scheduler & # Scheduler 재시작
airflow webserver -p 8080 & # Web Server 재시작