Python编写带附件的MIMEText邮件
发布时间:2023-12-11 13:46:45
Python可以使用smtplib和email两个库编写带附件的MIMEText邮件。
首先,我们需要导入smtplib、email.mime.text和email.mime.multipart模块:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText
然后,我们可以创建一个MIMEMultipart对象,用于表示邮件主体和附件:
msg = MIMEMultipart()
接下来,我们可以添加邮件正文。可以使用MIMEText对象指定邮件正文的内容和格式:
body = "这是一封带附件的邮件" msg.attach(MIMEText(body, "plain"))
然后,我们可以添加附件。可以使用MIMEText对象指定附件的内容和格式,并在MIMEMultipart对象中添加附件:
attachment = MIMEText(open("附件.txt", "rb").read(), "plain")
attachment.add_header("Content-Disposition", "attachment", filename="附件.txt")
msg.attach(attachment)
接下来,我们需要指定邮件的发送方、接收方和主题:
msg["From"] = "发送方邮箱" msg["To"] = "接收方邮箱" msg["Subject"] = "带附件的邮件"
最后,我们可以使用smtplib库发送邮件:
smtp = smtplib.SMTP("smtp.163.com") # 设置SMTP服务器地址
smtp.login("发送方邮箱", "密码") # 登录SMTP服务器
smtp.sendmail("发送方邮箱", "接收方邮箱", msg.as_string()) # 发送邮件
smtp.quit() # 退出SMTP服务器
完整的代码如下:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
msg = MIMEMultipart()
body = "这是一封带附件的邮件"
msg.attach(MIMEText(body, "plain"))
attachment = MIMEText(open("附件.txt", "rb").read(), "plain")
attachment.add_header("Content-Disposition", "attachment", filename="附件.txt")
msg.attach(attachment)
msg["From"] = "发送方邮箱"
msg["To"] = "接收方邮箱"
msg["Subject"] = "带附件的邮件"
smtp = smtplib.SMTP("smtp.163.com")
smtp.login("发送方邮箱", "密码")
smtp.sendmail("发送方邮箱", "接收方邮箱", msg.as_string())
smtp.quit()
上述代码中,我们使用了163邮箱作为SMTP服务器,需要根据具体情况替换为自己的SMTP服务器地址、发送方邮箱和密码。同时,需要将接收方邮箱和附件所在路径替换为真实的值。
带有附件的MIMEText邮件的例子就是这样。使用以上代码,您可以通过Python发送带有附件的邮件。
