欢迎访问宙启技术站
智能推送

使用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服务器与电子邮件提供商进行通信。