为啥我将邮件内容发送到 Hotmail 帐户时会作为附件发送?

Posted

技术标签:

【中文标题】为啥我将邮件内容发送到 Hotmail 帐户时会作为附件发送?【英文标题】:why mail content is sent as attachment when I send it to Hotmail account?为什么我将邮件内容发送到 Hotmail 帐户时会作为附件发送? 【发布时间】:2011-03-23 14:20:40 【问题描述】:

为什么我将邮件内容发送到 Hotmail 帐户时会作为附件发送?

当我向 Hotmail 帐户发送邮件时,邮件正文作为附件发送。但是当发送到 yahoomail、gmail 等其他帐户时,它不会产生任何问题。

我想知道为什么我在使用 Hotmail 帐户时遇到问题。

请给我一个解决方案。

MimeMessage msg = createMimeMessage(sender, emsg,session,mail.companyName); Transport.send(msg);

Multipart multipart = new MimeMultipart();

//这是模板附件部分

if (emsg.getAttachment() != null)

for(文件文件:emsg.getAttachment())

MimeBodyPart messageAttachmentBodyPart = new MimeBodyPart(); messageAttachmentBodyPart = new MimeBodyPart();

数据源源 = new FileDataSource(file);

messageAttachmentBodyPart.setDataHandler(new DataHandler(source)); messageAttachmentBodyPart.setFileName(file.getName()); multipart.addBodyPart(messageAttachmentBodyPart);

【问题讨论】:

也许您想解释一下如何发送您的电子邮件? 另外,你要附加什么? 我们还需要更多细节:您有自己的 SMTP 服务器吗?或者您是否使用 gmail 帐户发送邮件? 我正在使用 Postfix 邮件代理。 当我只发送消息(不带附件)时,一切都很好。但如果我包含附件,那么我只能看到附件,但看不到任何消息。 【参考方案1】:

没错。那么,如果您将文件从 gmail 帐户发送到 hotmail 帐户会发生什么情况,它会附加吗?还是按您的意愿显示?我的猜测是,附加文件是一种安全措施,可以防止恶意代码在显示屏上被激活。这种机制也可能是选择性的,这意味着它取决于发件人(关于这个问题的有趣帖子是this one)。

另一个想法:为什么这是个问题?

【讨论】:

【参考方案2】:

如果你添加可能会有所帮助

messageAttachmentBodyPart.setDisposition(Part.INLINE);

【讨论】:

以上是关于为啥我将邮件内容发送到 Hotmail 帐户时会作为附件发送?的主要内容,如果未能解决你的问题,请参考以下文章

向 yahoo 和 hotmail 用户发送电子邮件?

无法从 CRM 通过 hotmail 发送电子邮件

php邮件功能无法将html电子邮件发送到hotmail和aol地址

Microsoft 帐户异常登录活动,QQ邮箱代收hotmail邮件不成功

电子邮件不会用 php 发送

SMTP使用Gmail发送电子邮件问题