使用email.MIMEMultipartMIMEMultipart()模块创建带有邮件头部信息的邮件体
发布时间:2024-01-07 23:13:45
使用email模块的MIMEMultipart类可以创建带有邮件头部信息的邮件体。下面是一个使用示例,以创建一个带有发件人、收件人、主题、日期和消息体的邮件为例。
首先,导入必要的模块:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.header import Header
然后,创建一个MIMEMultipart对象并设置邮件头部信息:
msg = MIMEMultipart()
msg['From'] = Header("发件人名称", 'utf-8')
msg['To'] = Header("收件人名称", 'utf-8')
msg['Subject'] = Header("邮件主题", 'utf-8')
接下来,创建邮件正文并添加到MIMEMultipart对象中:
text = "邮件正文内容" mime_text = MIMEText(text, 'plain', 'utf-8') msg.attach(mime_text)
如果需要添加附件,可以使用MIMEBase和MIMEApplication类:
from email.mime.base import MIMEBase
from email.mime.application import MIMEApplication
# 添加文本格式附件
attachment = MIMEText("附件内容", 'plain', 'utf-8')
attachment.add_header('Content-Disposition', 'attachment', filename='附件.txt')
msg.attach(attachment)
# 添加二进制格式附件
attachment = MIMEBase('application', 'octet-stream')
attachment.set_payload(open('附件.pdf', 'rb').read())
attachment.add_header('Content-Disposition', 'attachment', filename='附件.pdf')
msg.attach(attachment)
最后,将邮件发送出去:
# 发送邮件
smtp = smtplib.SMTP()
smtp.connect('smtp服务器地址', 25)
smtp.login('发件人邮箱', '密码')
smtp.sendmail('发件人邮箱', '收件人邮箱', msg.as_string())
smtp.quit()
以上是一个使用email模块创建带有邮件头部信息的邮件体的示例。你可以根据实际需求进行修改和扩展。请注意,部分邮件服务器可能对发送邮件的频率有限制,建议根据实际情况添加合适的延时和异常处理机制。
