Loading

用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')  # 设置邮件内容 参数解释:邮件内容,文本格式,编码格式
posted @ 2024-11-21 11:28  一只大学生  阅读(33)  评论(0)    收藏  举报