티스토리 뷰

IT/Flask

[Flask] 메일발송 (Mail)

Dragonz 2020. 9. 5. 01:00
반응형

 

Flask 는 Flask-Mail 을 이용하여 간단한 인터페이스를 통해 이메일을 발송할 수 있다. 우선 Flask-Mail 익스텐션을 설치해야 한다.

 

pip install Flask-Mail

 

파일명 : 14_mail.py

from flask import Flask
from flask_mail import Mail, Message

app = Flask(__name__)
mail = Mail(app)

app.config['MAIL_SERVER'] = 'smtp.gmail.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USERNAME'] = '본인의계정@gmail.com'
app.config['MAIL_PASSWORD'] = '비밀번호'
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
mail = Mail(app)

@app.route('/')
def index() :
    msg = Message('Hello', sender='본인의계정@gmail.com', recipients=['수신인의이메일주소'])
    msg.body = 'Hello Flask message sent fro Flask-Mail'
    mail.send(msg)
    return 'Sent'

if __name__ == '__main__' :
    app.run(debug=True)

아주 간단한 프로그램이다. 사이트 접근과 동시에 메일서버와 인터페이스 하면서 recipients 로 지정된 메일 주소로 이메일을 발송하고 "Sent" 라는 문자열을 return 한다.

 

메일 발송이 완료되면 'Sent' 가 출력된다.

 

gmail 에 접속하여 정상적으로 메일 수신이 되었는지 확인을 해본다.

 

메일 수신 완료

 

만약 사이트 접근 시 에러가 발생한다면 gmail 의 [보안 수준이 낮은 앱의 액세스] 가 허용 상태인지 확인을 해본다.

 

 

 

테스트를 위해 우선 설정을 사용으로 변경하고 테스트가 완료되면 다시 사용 안함으로 변경하도록 한다.

 

END

반응형

'IT > Flask' 카테고리의 다른 글

[Flask] SQLite3  (0) 2020.09.09
[Flask] WTF (Flask-WTF)  (0) 2020.09.09
[Flask] 파일 업로딩 (File Uploading)  (0) 2020.08.26
[Flask] 메세지 플래싱 (Message Flashing)  (0) 2020.08.14
[Flask] 리다이렉트 & 에러 (Redirect & errors)  (0) 2020.08.13
댓글
공지사항