附件丢失的 Outlook 2010 扩展

Outlook 2010 extension of attachment lost

我们确实会从我们的应用程序向我们的企业客户发送带有 xls 或 pdf 附件的电子邮件。尽管他们确实收到了包含附件的电子邮件,但他们经常无法打开文件,无论是 pdf 还是 xls(Excel5 版本)。文件扩展名在电子邮件中不再可见,客户端无法 right-click 和保存附件。

包含附件的电子邮件 body 是使用 ZF2 生成的:

$html = new MimePart($content.$this->getSignature());
        $html->type = "text/html";

$xlsAttach = new MimePart($xls);
            $xlsAttach->type = 'application/vnd.ms-excel';
            $xlsAttach->filename = $excelFilename;
            $xlsAttach->encoding = \Zend\Mime\Mime::ENCODING_BASE64;
            $xlsAttach->disposition = \Zend\Mime\Mime::DISPOSITION_ATTACHMENT;
            $body->setParts(array($html, $xlsAttach));

我已经 google 做了,但没有取得任何显着的成功。由于这似乎是客户 IT 基础设施的问题,可能有经验丰富的 IT 管理员或任何 body 可以查看电子邮件 header.

得到的header如下:

MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="=_691d16bb3f9c6766e19e9bcbd8ef1861"
From: XXX
To: XXX
Subject: XXX
Cc: XXX
Sender: 
X-bounce-key: XXX
X-HE-SMSGID: 1dsxY8-0005qz-Hb
X-HE-Virus-Scanned: Yes
X-HE-Spam-Level: +
X-HE-Spam-Score: 1.6
X-HE-Spam-Report: Content analysis details:   (1.6 points)
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  0.1 HTML_MESSAGE           BODY: HTML included in message
  0.7 MIME_HTML_ONLY         BODY: Message only has text/html MIME parts
  0.1 MISSING_MID            Missing Message-Id: header
  0.6 HTML_MIME_NO_HTML_TAG  HTML-only message, but there is no HTML tag
Message-ID: <XXX>
X-HE-SPF: PASSED
Envelope-to: XXX
X-AVK-Virus-Check: AVA 25.14182;7B5CFE
X-AVK-Spam-Check: 1;str=0001.0A0C0208.59BC3F12.007C:SCFSTAT44510583,ss=1,re=-4.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0;8389744

@Dmitry Streblechenko:感谢 Gmail 的提示。

有趣的事情:My/OurOutlook 2010 为收到的附件添加了正确的扩展名,这就是为什么我们从未在客户端意识到这个问题:(。通过将电子邮件发送到我们看到的 Gmail 帐户,文件扩展名实际上丢失了,并且在生成文件时没有扩展。(永远相信你自己的系统)

还有 Gmail 的另一个 +:我们能够优化我们的 SPF。