解决Mac邮件正文变成HTML附件的问题

Mac Windows IMAP

Harttle最近解决了使用Mac发送带附件的邮件时,正文的一部分变成HTML附件的问题。 也顺带解决了服务器端重复保存已发送邮件的问题(126邮箱)。

当然我尝试过转而使用Foxmail和Thunderbird,然而Mail和Mac系统的集成还是让我不忍抛弃Mail。

问题描述

在使用Mac自带的邮件客户端发送邮件时,如果邮件包含附件, 附件后面的正文会被截掉,并形成一个HTML附件。 名字类似是ATT00004.html,见图:

Mac Mail HTML Attachment

其实我发送的邮件是:

Hi

<附件:jap.zip>

This is my attachment!

附件后面的正文被截掉了,并自动形成了ATT00004.html(其中包含了后半部分正文)!

问题原因

Mac中编写邮件时,会将附件与邮件正文混编。然后发送这样混编的邮件至服务器。

而有些邮件服务器则坚持附件必须位于正文之后,比如126邮箱。 因此出现在附件之后的正文也会被当做附件对待,因此生成了额外的附件来包含后半部分正文,这就是上面的AT00004.html

解决问题

在Mail(9.3)中,点击菜单栏『编辑』->『附件』,勾选『始终在邮件结尾处插入附件』。

注意,此处的『始终发送与Windows兼容的附件』也要勾选,否则很多邮件服务器都无法识别邮件附件。

现在发送邮件正文就不会被截断了,会完整地显示在对方的正文中。 然而AT00004.html仍然会出现,只不过其内容为空。解决该问题也容易:

在Mail(9.3)中,点击菜单栏『邮件』->『偏好设置』->『编写』,选择邮件格式为『纯文本』即可。注意:确保勾选了『始终在邮件结尾处插入附件』,否则附件会变成正文中的文本。

重复的已发邮件

Mac Mail中使用126邮箱的IMAP服务时,每次发送带附件的邮件都会在服务器生成两封已发邮件,这是由已发邮件同步策略的Bug导致的:

  1. Mail客户端使用126的SMTP发信时,126会保存一份邮件。
  2. Mail客户端对此不知情,会要求126服务器再保存一份已发送邮件。

于是服务器就出现了两份。直接禁用Mail的同步已发送邮件即可:

在Mail(9.3)中,点击『邮件』->『偏好设置』->『账户』->『126 IMAP』->『邮箱行为』,去掉『将已发出邮件存储在服务器上』的勾选。

对于126服务器而言,默认设置为只保存1M以下的邮件附件, SMTP发信时自动保存的那一份可能会不保存附件。 可以在126邮箱的『发送邮件后设置』中,选择『邮件保存规则』为 『全部保存到已发送文件夹』便可解决!

Harttle

致力于简单的、一致的、高效的前端开发

看看这个?