Python 发送邮件
0

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)
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!