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

Ped*_*lho 0 python email python-2.7 python-3.x windows-live-mail

我有一个Python 3脚本,它使用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())
Run Code Online (Sandbox Code Playgroud)

但是,当我切换到脚本的Py3版本时,附件停止显示在Microsoft的mail.live上.表示消息有附件的回形针符号仍然显示,但我找不到它.

- 编辑:

如果我设置自动转发到Gmail帐户,.xlsx附件通常会显示在那里; 但是,如果我手动转发它不会.

Ped*_*lho 6

更改

msg = MIMEMultipart('alternative')
Run Code Online (Sandbox Code Playgroud)

msg = MIMEMultipart('html')
Run Code Online (Sandbox Code Playgroud)

固定它.