我们有两个服务器应用程序(一个.NET/ASP Web 应用程序,另一个是本机 Windows 应用程序)生成 PDF,然后通过电子邮件发送给 Exchange 2010 上的用户。应用程序通过 SMTP 将电子邮件发送到 Exchange 服务器,我们的 iPhone /iPad 用户通过 activesync 接收电子邮件。
Web 应用程序生成的几乎所有 PDF 和 Windows 应用程序生成的许多 PDF 都无法在 iPhone 或 iPad 上打开。点击附件显示的屏幕将在顶部显示带有文件名的 PDF,但屏幕底部完全是灰色的。
我发现的一件事是 iPad 上的附件是 uuencoded。将附件转发到另一个电子邮件地址会显示 uuencoded 格式。这是一个示例:
begin 600 unknown
M)5!$1BTQ+C0-)>+CS],-"C8@,"!O8FH\/"](6S8U-B`Q-#A=+TQI;F5A<FEZ
M960@,2]%(#DQ-#8O3"`Q,S`Q.2].(#$O3R`Y+U0@,3(X-3,^/@UE;F1O8FH-
---snip---
M,C8T,"`P,#`P,"!N#0IT<F%I;&5R#0H\/"]3:7IE(#8^/@T*<W1A<G1X<F5F
.#0HQ,38-"B4E14]�H`
`
end
而文件的普通版本看起来像普通的 PDF:
%PDF-1.4
%âãÏÓ
6 0 obj<</H[656 147]/Linearized 1/E 9698/L 13571/N 1/O 9/T 13405>>
---snip---
trailer
<</Size 6>>
startxref
116
%%EOF
所以我认为问题是附件在某处被双重 uuencoded,或者 iPhone 无法识别附件是 uuencoded 而不是对其进行解码。
关于从哪里开始解决此问题的任何建议?
iPhone 和 iPad 似乎不支持 uuencoded 附件。