使用Python发送rfc822格式的邮件的示例
发布时间:2023-12-24 15:28:51
以下是一个使用Python发送rfc822格式的邮件的示例代码:
import smtplib
from email.message import EmailMessage
from email.headerregistry import Address
from email.utils import make_msgid
# 创建EmailMessage对象
msg = EmailMessage()
# 设置发件人信息
msg['From'] = Address('发件人昵称', '发件人邮箱地址')
# 设置收件人信息
msg['To'] = Address('收件人昵称', '收件人邮箱地址')
# 设置邮件主题
msg['Subject'] = '邮件主题'
# 设置邮件正文
msg.set_content('邮件正文内容')
# 添加附件(可选)
with open('附件文件路径', 'rb') as f:
filename = '附件文件名'
content = f.read()
msg.add_attachment(content, maintype='application', subtype='octet-stream', filename=filename)
# 设置自定义标头(可选)
msg.add_header('X-CustomHeader', 'CustomHeaderValue')
# 设置自定义消息ID(可选)
msg['Message-ID'] = make_msgid()
# 发送邮件
with smtplib.SMTP('smtp.example.com', 25) as server:
server.login('发件人邮箱地址', '邮箱密码')
server.send_message(msg)
以上代码中,你需要将以下内容替换为你自己的信息:
- 发件人昵称:发件人的显示名称
- 发件人邮箱地址:发件人的邮箱地址
- 收件人昵称:收件人的显示名称
- 收件人邮箱地址:收件人的邮箱地址
- 邮件主题:邮件的主题
- 邮件正文内容:邮件的正文内容
- 附件文件路径:附件文件的路径(如果有附件)
- 附件文件名:附件文件的名称(如果有附件)
- smtp.example.com:SMTP服务器的地址和端口号
- 发件人邮箱地址:发件人的邮箱地址
- 邮箱密码:发件人的邮箱密码
注意,发送邮件需要有一个有效的SMTP服务器账户来进行身份验证。确保替换smtp.example.com、发件人邮箱地址和邮箱密码为你自己的SMTP服务器信息。
此示例代码创建了一个EmailMessage对象,并设置了发件人、收件人、主题、正文、附件和自定义标头。然后使用SMTP库中的SMTP类来发送邮件。你可以将上述代码保存为一个Python脚本并运行来发送邮件。
总结:
这个示例展示了如何使用Python发送rfc822格式的邮件。你可以根据自己的需求调整代码,并根据需要设置更多的邮件头和内容。使用Python发送邮件十分方便,并且可以通过SMTP服务器与电子邮件提供商进行通信。
