这是我的代码:
FROM = ''
TO = ''
SMTPSERVER = ''
MYEMAILPASSWORD = ""
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.mime.base import MIMEBase
from email import encoders
def physicallySend(listOfAttachments):
msg = MIMEMultipart('alternative')
msg['Subject'] = "Testing"
msg['From'] = FROM
msg['To'] = TO
textPart = MIMEText("Hello. I should be able to see this body.", 'plain')
msg.attach(textPart)
for attachmentFilename in listOfAttachments:
fp = open(attachmentFilename, 'rb')
file1 = MIMEBase('application','csv')
file1.set_payload(fp.read())
fp.close()
encoders.encode_base64(file1)
file1.add_header('Content-Disposition','attachment;filename=%s' % attachmentFilename)
msg.attach(file1)
server = smtplib.SMTP(SMTPSERVER)
server.ehlo()
server.starttls()
server.login(FROM, MYEMAILPASSWORD)
server.sendmail(FROM, to, msg.as_string())
server.quit()
return True
physicallySend(["testfile.csv"])
虽然我可以在 Gmail 和 Outlook 上看到正文,但在我的 iPhone (6.1.3) 上我只能看到附件,而看不到正文。
最佳答案
我在这条评论中找到了我的解决方案:How do I send attachments using SMTP?
我的第一行应该是
msg = MIMEMultipart('mixed')
而不是“替代”。
关于iPhone 上未显示 Python smtplib.sendmail Mime Multipart 正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23397654/