用python发邮件

前置#

模块介绍
Python对SMTP支持有 smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件,它对smtp协议进行了简单的封装。

smtp
SMTP(Simple Mail Transfer Protocol)是一种用于电子邮件传输的互联网标准协议,负责将邮件从发件人的邮件服务器发送到收件人的邮件服务器。

ssl
SSL(Secure Sockets Layer 安全套接层),将明文邮件外层套一个管道,增加其安全性

qq邮箱配置SMTP
设置->账号->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
image

简单示例#

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 设置发送邮件的服务器,登录
smtp_obj = smtplib.SMTP_SSL('smtp.qq.com', '465')  # 465是服务器端口
smtp_obj.login('2694551335@qq.com', 'cqfuygtlcmbkdfdi')  # 这里的密码是授权码,需从"qq邮箱配置SMTP"获取

# 设置邮件内容
msg = MIMEText('我是邮件内容', 'plain', 'utf-8')  # 设置邮件内容 参数解释:邮件内容,文本格式,编码格式
msg["From"] = Header('2694551335@qq.com')  # 设置发送者邮箱
msg["To"] = Header('2722415586@qq.com')  # 设置收件者邮箱
msg["Subject"] = Header("云朵的信", "utf-8")  # 设置邮件主题

# 发送
smtp_obj.sendmail('2694551335@qq.com', ['2722415586@qq.com'], msg.as_string())  # 发件人邮箱,收件人邮箱列表,邮件内容

发送html格式邮件#

只需更改msg = MIMEText()即可

# 设置邮件内容
mail_body = """
    <h1>云朵云朵</h1>
    <p>朵朵朵朵朵朵</p>
    <a href='http://qq.com'>跳转qq</a>
"""

msg = MIMEText(mail_body, 'html', 'utf-8')  # 设置邮件内容 参数解释:邮件内容,文本格式,编码格式

作者:cloud-2-jane

出处:https://www.cnblogs.com/cloud-2-jane/articles/18560251

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   一只大学生  阅读(7)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示