Python发送的MIME电子邮件附件未显示在mail.live中

Python发送的MIME电子邮件附件未显示在mail.live中,python,python-2.7,email,python-3.x,windows-live-mail,Python,Python 2.7,Email,Python 3.x,Windows Live Mail,我有一个python3脚本,它使用MIMEMultipart发送一封电子邮件,其中附带一个它生成的.xlsx文件。我曾经在Py2上使用相同的脚本来发送相同的生成文件,唯一的区别是Py2脚本从MySQL收集信息来创建.xlsx,而Py3脚本使用PostgreSQL msg = MIMEMultipart('alternative') msg.attach(MIMEText("""HTML stuff""", 'html')) with open(analysis_file, "rb") as f

我有一个python3脚本,它使用MIMEMultipart发送一封电子邮件,其中附带一个它生成的.xlsx文件。我曾经在Py2上使用相同的脚本来发送相同的生成文件,唯一的区别是Py2脚本从MySQL收集信息来创建.xlsx,而Py3脚本使用PostgreSQL

msg = MIMEMultipart('alternative')
msg.attach(MIMEText("""HTML stuff""", 'html'))

with open(analysis_file, "rb") as fil:
  msg.attach(MIMEApplication(
                    fil.read(),
                    Content_Disposition='attachment; filename="%s"' % os.path.basename(analysis_file),
                    Name=os.path.basename(analysis_file)
                ))

msg['Subject'] = "SUBJECT"
msg['From']="Me <me@me.com>"
msg['To']= "You <you@you.com>"

server.sendmail(FROMADDR, ["you@you.com"], msg.as_string())
msg=MIMEMultipart('alternative')
msg.attach(MIMEText(“'HTML stuff”“,'HTML'))
打开(分析文件“rb”)作为fil:
味精。附加(含笑应用)(
fil.read(),
Content\u Disposition='attachment;filename=“%s”'%os.path.basename(分析文件),
Name=os.path.basename(分析文件)
))
msg['Subject']=“Subject”
msg['From']=“我”
msg['To']=“您”
server.sendmail(FROMADDR,[”you@you.com“],msg.as_string())
然而,当我切换到Py3版本的脚本时,附件不再显示在Microsoft的mail.live上。表示邮件有附件的回形针符号仍然出现,但我找不到它

--编辑:


如果我设置了自动转发到Gmail帐户,那么.xlsx附件通常会显示在那里;但是,如果我手动转发它,它不会。请帮我一个忙,测试一下它是否可以使用。对于做HTML/附件的事情,我认为它真的很有用:默认是用HTML发送东西,而附件可以通过指向路径来完成

所有代码:

import yagmail
yag = yagmail.SMTP('me@me.com', 'password')
yag.send("you@you.com", "SUBJECT", analysis_file)
send
中的第三个字段是contents,可以是字符串列表,也可以只是字符串。如果字符串可以作为文件加载,则只需附加它即可


有关更多信息,请查看该页面。请注意,我是开发人员/维护人员。

请帮我一个忙,测试一下它是否可以使用。对于做HTML/附件的事情,我认为它真的很有用:默认是用HTML发送东西,而附件可以通过指向路径来完成

所有代码:

import yagmail
yag = yagmail.SMTP('me@me.com', 'password')
yag.send("you@you.com", "SUBJECT", analysis_file)
send
中的第三个字段是contents,可以是字符串列表,也可以只是字符串。如果字符串可以作为文件加载,则只需附加它即可

有关更多信息,请查看该页面。请注意,我是开发人员/维护人员。

msg = MIMEMultipart('alternative')

修复了它。

正在更改

msg = MIMEMultipart('alternative')


已修复。

对“备选”选项有何解释?(改成“html”解决了我的问题)你是什么意思?我使用了“alternative”,因为我想我在文档中的某个地方读到了它,但改为“html”后就解决了这个问题。我不知道区别是什么。我还通过将“可选”更改为“混合”解决了这个问题。“可选”选项有什么解释吗?(改成“html”解决了我的问题)你是什么意思?我使用了“alternative”,因为我想我在文档中的某个地方读到了它,但改为“html”后就解决了这个问题。我不知道有什么区别。我还通过将“可选”改为“混合”来解决这个问题