Flask는 Python 웹 프레임워크로, 간편하고 빠르게 웹 애플리케이션을 개발할 수 있도록 도와줍니다. 이메일은 웹 애플리케이션에서 중요한 기능 중 하나이며, Flask에서도 이메일을 보내는 기능을 쉽게 구현할 수 있습니다.
Flask-Mail 확장기능 설치
Flask-Mail은 Flask 애플리케이션에서 이메일을 전송하기 위한 확장기능입니다. 먼저 Flask-Mail을 설치해야 합니다. 다음 명령어를 사용하여 Flask-Mail을 설치합니다.
pip install Flask-Mail
Flask-Mail 설정
Flask-Mail을 사용하기 전에, 이메일 서버의 설정을 위해 Flask 애플리케이션에서 MAIL_SERVER
, MAIL_PORT
, MAIL_USE_TLS
, MAIL_USERNAME
, MAIL_PASSWORD
와 같은 환경 변수를 설정해야 합니다. 이러한 정보는 이메일 공급자(예: Gmail, Outlook)에서 제공되며, app.config
에 설정해야 합니다.
# Flask-Mail 설정 예시
app.config['MAIL_SERVER'] = 'smtp.gmail.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = 'your-email@gmail.com'
app.config['MAIL_PASSWORD'] = 'your-email-password'
이메일 전송 기능 구현
Flask-Mail을 이용하여 이메일을 보내는 기능을 구현하는 것은 간단합니다. 다음은 Flask 애플리케이션에서 이메일을 전송하는 예시 코드입니다.
from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
mail = Mail(app)
# Flask-Mail 설정
app.config['MAIL_SERVER'] = 'smtp.gmail.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = 'your-email@gmail.com'
app.config['MAIL_PASSWORD'] = 'your-email-password'
# 이메일 보내기 예시
@app.route('/send-email')
def send_email():
recipient = 'recipient-email@example.com'
subject = 'Flask Mail Example'
body = 'This is an email sent from Flask!'
msg = Message(subject=subject, sender=app.config['MAIL_USERNAME'], recipients=[recipient])
msg.body = body
mail.send(msg)
return 'Email sent successfully!'
if __name__ == '__main__':
app.run()
위의 예제에서는 /send-email
경로로 GET 요청이 오면, 지정한 수신자에게 이메일을 보냅니다. 이메일 주소, 제목, 본문을 지정할 수 있으며, Message
클래스를 사용하여 이메일을 구성합니다. 이메일을 전송하기 위해 mail.send()
함수를 호출합니다.
Flask-Mail 확장기능을 사용하면 Flask 애플리케이션에서 간단하게 이메일을 보낼 수 있습니다. 이메일을 전송하는 기능은 웹 애플리케이션에서 유용하게 활용될 수 있으며, Flask-Mail을 사용하여 구현하는 것은 매우 간편합니다.