[python] python-dotenv를 사용하여 메일 발송 설정하기

많은 웹 애플리케이션에서 메일 발송 기능을 사용하는 경우가 있습니다. 이를 위해서는 SMTP 서버의 호스트, 포트번호, 사용자 정보 등을 설정해야 합니다. 그러나 이러한 설정 정보를 코드에 직접 작성하면 보안상의 이슈가 발생할 수 있습니다. python-dotenv 패키지를 사용하면 이러한 설정 정보를 외부 파일에서 관리할 수 있습니다.

python-dotenv란?

python-dotenv는 파이썬 프로젝트에서 .env 파일을 읽어서 환경변수로 설정하는 패키지입니다. 환경변수를 이용하여 애플리케이션의 설정 정보를 관리함으로써 보안을 강화할 수 있습니다.

python-dotenv 설치하기

python-dotenv를 설치하기 위해서는 pip 명령을 사용합니다.

pip install python-dotenv

.env 파일 작성하기

먼저 프로젝트의 루트 디렉토리에 .env 파일을 생성하고 설정 정보를 입력합니다.

SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=username
SMTP_PASSWORD=password

Python 코드에 적용하기

Python 코드에서 python-dotenv를 이용하여 .env 파일의 설정 정보를 사용하려면 다음과 같이 작성하면 됩니다.

import os
from dotenv import load_dotenv

# .env 파일 로드
load_dotenv()

# 환경변수에서 SMTP 정보 가져오기
smtp_host = os.getenv('SMTP_HOST')
smtp_port = os.getenv('SMTP_PORT')
smtp_user = os.getenv('SMTP_USER')
smtp_password = os.getenv('SMTP_PASSWORD')

# 이하 메일 발송 코드 작성
# ...

결론

python-dotenv 패키지를 사용하면 설정 정보를 코드 외부에서 관리할 수 있으므로 보안을 강화할 수 있습니다. 설정 값이 변경되더라도 코드 수정 없이 .env 파일만 수정하면 되므로 유지보수에도 용이합니다.