Python 发送邮件

Python 原生

import smtplib 
from email.message import EmailMessage 

# 发送文本
with open('test') as fp: 
    # 创建一条 text/plain 信息
    msg = EmailMessage()
    msg.set_content(fp.read())

# 发送 html
# msg.add_alternative('<h1>Hello</h1>', subtype='html') 

msg['Subject'] = '标题' 
msg['From'] = '发送方邮件地址' 
msg['To'] = '接受方邮件地址' 

# 通过 ssl 加密方式发送
with smtplib.SMTP_SSL('smtp服务器地址', 465) as s: 
    s.login('发送方邮件地址', '发送方邮件密码或授权码') 
    s.send_message(msg)

# -----------------------------------------------------------

# 通过 tls 加密方式发送
with smtplib.SMTP('smtp服务器地址', 587) as s:

    s.starttls()
    s.login('发送方邮件地址', '发送方邮件密码或授权码') 
    s.send_message(msg)

Flask-mail

from flask import Flask
from flask_mail import Mail, Message

app = Flask(__name__)

app.config.update(
        MAIL_SERVER = os.getenv('MAIL_SERVER'),
        MAIL_PORT = 465,
        MAIL_USE_SSL = True,
        MAIL_USERNAME = os.getenv('MAIL_USERNAME'),
        MAIL_PASSWORD = os.getenv('MAIL_PASSWORD'),
        MAIL_DEFAULT_SENDER=('发送人', os.getenv('MAIL_USERNAME'))
    )

mail = Mail(app)

def send_mail(subject, to, body, html=None):
    message = Message(subject, recipients=[to], body=body, html=html)
    mail.send(message)
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
文章
1
粉丝
1
喜欢
0
收藏
0
排名:1587
访问:1843
私信
所有博文
社区赞助商