如何解决Python常规MIMEText电子邮件有效,但MIMEMultiPart不起作用
我有以下适用于Python的代码,可以在公司网络内发送电子邮件:
import smtplib
from email.mime.text import MIMEText
#Define the message
msg = MIMEText("Email Body")
msg['Subject'] = "Subject Line"
msg['From'] = "no-reply@company.com"
msg['To'] = "my_email@company.com"
#Connect and send the email
server = smtplib.SMTP('blahblahblah.company.com',25)
server.ehlo()
server.starttls()
server.sendmail("my_email@company.com","no-reply@company.com",msg.as_string())
server.quit()
现在,我要向其中添加PDF附件。我查看了MIMEMultiPart电子邮件上用于发送附件的许多线程,因此我模拟了该版本:
import smtplib
import os
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart
#Define the message
pdf_output_path = os.path.join(os.getcwd(),"Form.pdf")
msg = MIMEMultipart()
msg['Subject'] = "Subject Line"
msg['From'] = 'no-reply@company.com'
msg['To'] = "my_email@company.com"
msg.attach(MIMEText("Email Body"))
with open(pdf_output_path,"rb") as fil:
part = MIMEApplication(
fil.read(),Name=os.path.basename(pdf_output_path)
)
part['Content-Disposition'] = 'attachment; filename="%s"' % os.path.basename(pdf_output_path)
msg.attach(part)
#Connect and send the email
server = smtplib.SMTP('blahblahblah.company.com',msg.as_string())
server.quit()
但是,这根本不发送电子邮件。它不会崩溃或留下任何输出或错误消息,但不会发送电子邮件。当我注释掉添加附件的代码部分时,我得到相同的结果。
有人对发生的事情有想法吗?通常,我只是查找错误,但是由于没有任何反馈,我不仅不知所措,而且还很好奇它为什么能够成功运行但什么也没做。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。