Python中利用MIMEApplication()发送带有Word文件附件的邮件
发布时间:2023-12-24 23:43:04
在Python中发送带有Word文件附件的邮件可以使用MIMEApplication()类来实现。下面是一个示例代码:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
# 发件人和收件人
sender = 'sender@example.com'
receiver = 'receiver@example.com'
# 邮件主题和附件名
subject = '带有Word文件附件的邮件'
filename = 'example.docx'
# 创建邮件对象
msg = MIMEMultipart()
msg['From'] = sender
msg['To'] = receiver
msg['Subject'] = subject
# 读取Word文件内容,并将其作为附件添加到邮件中
with open(filename, 'rb') as f:
part = MIMEApplication(
f.read(),
Name=filename
)
part['Content-Disposition'] = 'attachment; filename="%s"' % filename
msg.attach(part)
# 连接到SMTP服务器,并发送邮件
smtp_server = 'smtp.example.com'
smtp_port = 587
smtp_user = 'username'
smtp_password = 'password'
try:
smtp_obj = smtplib.SMTP(smtp_server, smtp_port)
smtp_obj.starttls()
smtp_obj.login(smtp_user, smtp_password)
smtp_obj.sendmail(sender, receiver, msg.as_string())
smtp_obj.quit()
print('邮件发送成功')
except Exception as e:
print('邮件发送失败:', str(e))
在上面的代码中,首先指定了发送方和接收方的邮箱地址。然后使用MIMEMultipart()创建邮件对象,并设置邮件的发件人、收件人和主题。之后,通过open()函数打开Word文件,并使用MIMEApplication()将文件内容添加到邮件对象中。注意,在添加附件时需要设置附件的Content-Disposition头字段,指定附件的文件名。最后,通过SMTP服务器发送邮件,需要指定SMTP服务器地址、端口、用户名和密码。
运行上面的代码,即可发送带有Word文件附件的邮件。请确保Word文件存在,并指定正确的SMTP服务器地址、端口、用户名和密码。
