Office365 我用的是办公室和邮件
我正在使用office 365和Flask mail向用户发送电子邮件,但收到的格式是winmail.dat。是否需要任何配置以html格式发送电子邮件。谢谢对我来说,这个问题的答案很有效: 长话短说:电子邮件的邮件ID对于office 365来说太长(超过78个字符)。消息ID是自动创建的。长度取决于应用程序运行的位置。在我的例子中,在本地它足够短,但是在aws ec2实例上它太长了 解决方案:缩短消息ID 下面是一个粗略的代码:Office365 我用的是办公室和邮件,office365,flask-mail,Office365,Flask Mail,我正在使用office 365和Flask mail向用户发送电子邮件,但收到的格式是winmail.dat。是否需要任何配置以html格式发送电子邮件。谢谢对我来说,这个问题的答案很有效: 长话短说:电子邮件的邮件ID对于office 365来说太长(超过78个字符)。消息ID是自动创建的。长度取决于应用程序运行的位置。在我的例子中,在本地它足够短,但是在aws ec2实例上它太长了 解决方案:缩短消息ID 下面是一个粗略的代码: from flask import Flask from fl
from flask import Flask
from flask_mail import Mail, Message
import os
# instantiate flask app
app = Flask(__name__)
# set configuration and instantiate mail
mail_settings = {
"MAIL_SERVER": 'smtp.office365.com',
"MAIL_PORT": 587,
"MAIL_USE_TLS": True,
"MAIL_USE_SSL": False,
"MAIL_USERNAME": os.environ['EMAIL_USER'],
"MAIL_PASSWORD": os.environ['EMAIL_PASSWORD']
}
app.config.update(mail_settings)
mail = Mail(app)
# create message
msg = Message(subject=...,
sender=...,
recipients=...,
body=...)
# change message ID
msg.msgId = msg.msgId.split('@')[0] + '@short_string' # for instance your domain name
# send email
mail.send(msg)
使用dir(msg)
可以找到属性msgId
。您可以使用print(msg.msgId)
查看它,例如返回
。您可以使用len(msg.msgId)
检查长度
更改邮件ID时,请添加一些逻辑以确保长度不超过限制。Winmail.dat来自exchange服务器,该服务器只希望与outlook对话:(可能的副本)