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

python中email.mime.text模块创建纯文本邮件对象并添加附件的方法

发布时间:2023-12-24 01:11:33

email.mime.text模块是Python中用于处理邮件的模块之一,在处理纯文本邮件时经常会使用该模块。

该模块提供了一个类叫做MIMEText,用于创建纯文本邮件对象。下面是使用该模块创建纯文本邮件对象并添加附件的方法,以及一个使用例子:

1. 导入所需的模块:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders

2. 创建邮件对象:

msg = MIMEMultipart()

3. 设置发件人、收件人和主题:

msg['From'] = 'sender@example.com'
msg['To'] = 'recipient@example.com'
msg['Subject'] = 'Example Subject'

4. 邮件正文内容:

body = 'This is the body of the email.'
msg.attach(MIMEText(body, 'plain'))

5. 添加附件:

filename = 'example.txt'
attachment = open(filename, 'rb')

part = MIMEBase('application', 'octet-stream')
part.set_payload(attachment.read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', "attachment; filename= %s" % filename)

msg.attach(part)

6. 将邮件对象转换为字符串:

text = msg.as_string()

7. 发送邮件:

server = smtplib.SMTP('smtp.example.com', 587)
server.starttls()
server.login('sender@example.com', 'password')
server.sendmail('sender@example.com', 'recipient@example.com', text)
server.quit()

这是一个用于创建纯文本邮件对象并添加附件的完整示例代码。在使用时,你需要将send@example.com、recipient@example.com、example.txt替换为实际的发件人、收件人和附件文件路径。

注意:在发送邮件之前,你需要先配置好SMTP服务器的相关信息,包括服务器地址、端口号和登录凭据。

在实际使用中,你可能还需要处理异常情况以及添加更多的功能,例如设置邮件的优先级、添加多个附件等。上面的示例代码只是一个基本的示例,具体使用方法可以根据实际需求进行扩展和调整。