ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

flask发送邮件方法

2022-06-27 00:03:24  阅读:207  来源: 互联网

标签:mail flask app 发送 import MAIL os 邮件


经过一晚上的摸索整理, 测试成功了用163发送邮件

原书代码链接: https://github.com/greyli/helloflask/blob/master/demos/email/app.py

作者博客首页: https://greyli.com/

相比于书中源码, 代码修改如下后运行成功:

import os
from threading import Thread

import sendgrid
from sendgrid.helpers.mail import Email as SGEmail, Content, Mail as SGMail
from flask_mail import Mail, Message
from flask_wtf import FlaskForm
from wtforms import StringField, TextAreaField, SubmitField
from wtforms.validators import DataRequired, Email
from flask import Flask, flash, redirect, url_for, render_template, request


app = Flask(__name__)
app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True

app.config.update(
    # 配置环境变量,可在本文件夹下运行python
    # >>>from app import app
    # >>>app.config
    # 查看配置项内容,字典格式
    SECRET_KEY=os.getenv('SECRET_KEY', 'siec'),
    MAIL_SERVER=os.getenv('MAIL_SERVER', 'smtp.163.com'),
    MAIL_PORT=465,
    MAIL_USE_SSL=True,
    MAIL_USERNAME=os.getenv('MAIL_USERNAME', 'bob@163.com'),
    MAIL_PASSWORD=os.getenv('MAIL_PASSWORD', 'NOYZJJY'),#此处不输入密码,输入授权码
    MAIL_DEFAULT_SENDER=('注册验证 <bob@163.com>')
)

mail = Mail(app)


# send over SMTP
def send_smtp_mail(subject, to, body):
    message = Message(subject, recipients=[to], body=body)
    mail.send(message)

附:

1.163中设置如下

 

 2.sendgrid当前无法注册

 

标签:mail,flask,app,发送,import,MAIL,os,邮件
来源: https://www.cnblogs.com/feng-hao/p/16414752.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有