uuencoded 邮件附件显示为二进制代码

Man*_*eks 5 email attachment

我在最近从 Exchange 2003 切换到 Exchange 2010 的客户端上遇到了附件显示问题。最初认为该问题仅影响 Mac OS X 电子邮件客户端(Outlook 2011 和 Mac OS Mail)和 iOS 客户端。

经过一些故障排除后,我发现 GoDaddy 网络邮件也遇到了同样的问题。附件显示为二进制代码而不是附件。

有问题的附件作为包含基本 html 代码的 .xls 文件从 SAP 服务器发送。附件在 Windows 客户端上被正确解码,尽管它们会产生关于附件内容与扩展名不匹配的错误,必须覆盖附件才能通过。最初,问题是由于此错误,新的 Exchange 2010 服务器出于安全原因剥离了附件内容。

附件采用以下格式进行 uuencoded:

开始 664 文件名.xls

[二进制代码]

结尾

我只是想知道这些在最近年份的客户端和网络邮件界面上被错误解码的原因是什么......是否仅仅是因为编码太古老以至于大多数平台已经放弃了对它的支持,还是可能有另一个问题?

我正在尝试帮助发件人解决这个问题,因为他们不知所措,他们每天都会向客户发送大量这些自动邮件。

我对他们的建议是根据当前的 MIME 标准对附件进行编码,并将它们指向规范http://tools.ietf.org/html/rfc2045

任何更多这方面的专家愿意向我学习我是否在这里遗漏了什么,如果我走错了方向,请告诉我。

谢谢,

---响应消息标题的请求而发布-不适合评论---

Received: (qmail 26660 invoked from network); 5 May 2012 09:30:51 -0000
Received: from unknown (HELO m1pismtp01-024.prod.mesa1.secureserver.net) ([10.8.12.27])
      (envelope-sender <[removed]>)
      by p3plsmtp05-04.prod.phx3.secureserver.net (qmail-1.03) with SMTP
      for <[removed]>; 5 May 2012 09:30:51 -0000
X-IronPort-Anti-Spam-Result: AuACAB/wpE+qq/xekWdsb2JhbABFoSgBjhqDMSIBAQEBCQsLGwMkgi2BLzA/iCC6Top/hT1jBI04WZs0
Received: from rhmailer.rhbss.com ([170.171.252.94])
by m1pismtp01-024.prod.mesa1.secureserver.net with ESMTP; 05 May 2012 02:30:50 -0700
Received: from sapapp2.us.[removed].com (10.104.61.31) by RHMAILER.RHBSS.COM id hkjpke18hq4j for <[removed]>; Sat, 5 May 2012 05:30:45 -0400 (envelope-from <[removed]>)
Received: from sapapp2.us.[removed].com (localhost.localdomain [127.0.0.1])
by sapapp2.us.[removed].com (8.13.8/8.13.8) with ESMTP id q459Umhs003627;
Sat, 5 May 2012 05:30:48 -0400
Received: (from prdadm@localhost)
by sapapp2.us.[removed].com (8.13.8/8.13.8/Submit) id q459UiC0003584;
Sat, 5 May 2012 05:30:44 -0400
Date: Sat, 5 May 2012 05:30:44 -0400
Message-Id: <201205050930.q459UiC0003584@sapapp2.us.[removed].com>
To: [removed addresses]
From: "SAPPRD" <[removed]>
Subject: [removed]
X-Nonspam: None

Yesterday's Top 20 Orders
begin 664 [removed].xls
M/$A434P^"CQ(14%$/@H\;65T82!H='1P+65Q=6EV/2)#;VYT96YT+51Y<&4B
M(&-O;G1E;G0](G1E>'0O:'1M;#L@8VAA<G-E=#UW:6YD;W=S+3$R-3(B/@H\
  [removed confidential content]
M/2)!<FEA;"(^24X\+T9/3E0^/"]41#X*/"]44CX*/"]486)L93X*/"]"3T19
*/@H\+TA434P^"@``
`
end
Run Code Online (Sandbox Code Playgroud)

War*_*ica 3

(这可能应该是一条评论,但我想要更多的格式......)

首先,当你说“二进制代码”时,你是否看到这样的东西:

begin 644 webutils_pl
M4F5C;V=N:7II;F<@9FEL97,@96YC;V1E9"!U<VEN9R!5565N8V]D90T*#0I!
M(&9I;&4@96YC;V1E9"!W:71H(%5596YC;V1E('5S=6%L>2!S=&%R=',@=VET
M:"!A(&AE861E<B!L:6YE(&]F('1H92!F;W)M.@T*#0IB96=I;B`\;6]D93X@
  [ deleted a bunch of similar lines ]
M<F]D=6-E<R!A('9A;'5E('=H;W-E(&QO=V5R('-I>"!B:71S(&%R92`P+@T*
M#0HH4V]U<F-E.B!7:6MI<&5D:6$I#0H-"D9O<B!E>&%M<&QE+"!U=65N8V]D
M:6YG('1H:7,@=VAO;&4@<V5C=&EO;B!W;W5L9"!G:79E('1H92!F;VQL;W=I
*;F<@<F5S=6QT.@``
`
end
Run Code Online (Sandbox Code Playgroud)

如果 UU 编码正确,则有一行仅包含“`”作为倒数第二行(在“end”行之前),并且除了“`”之前的数据外,每行数据都以 M 开头。

如果实际的 UUencoding 是正确的,接下来要注意的是 header 是否混乱。创建消息的 SAP 服务器在生成消息时可能会执行一些奇怪的操作。您可以发布示例消息的完整标头吗?

编辑:查看发布的标头后,这不是 MIME 消息 - 没有 MIME 版本标头,没有内容类型行...仅使用 UU 编码文件作为消息正文是对 MIME 之前的日子的闪回,尽管有很多实用程序可以对文件进行 UU 解码,但这不是一个好的解决方案。正如您已经评论过的,SAP 服务器确实需要配置为发送 MIME 消息。