web-dev-qa-db-ja.com

uuencodeされたメールの添付ファイルがバイナリコードとして表示される

最近Exchange 2003からExchange 2010に切り替えたクライアントで添付ファイルの表示の問題が発生しました。この問題は、最初はMac OS X電子メールクライアント(Outlook 2011およびMac OS Mail)とiOSクライアントにのみ影響を及ぼしていると認識されていました。

いくつかのトラブルシューティングの後、GoDaddyウェブメールにも同じ問題が発生していることがわかりました。添付ファイルは添付ファイルではなくバイナリコードとして表示されます。

問題の添付ファイルは、基本的なHTMLコードを含む.xlsファイルとしてSAPサーバーから送信されます。添付ファイルはWindowsクライアントで正しくデコードされますが、添付ファイルの内容が拡張子と一致しないというエラーが発生します。これは、添付ファイルを通過させるためにオーバーライドする必要がありました。最初は、このエラーのため、セキュリティ上の理由から、新しいExchange 2010サーバーが添付ファイルの内容を削除していたことが問題でした。

添付ファイルは、次の形式でuuencodeされています。

664ファイル名.xlsを開始します。

[バイナリコード]

終わり

最近のヴィンテージのクライアントとウェブメールインターフェイスでこれらが正しくデコードされない理由を知りたいだけです...エンコーディングが古すぎて、ほとんどのプラットフォームがサポートを放棄しているためか、ある可能性があるのか別の問題?

彼らが途方に暮れていて、彼らが毎日大量のこれらの自動化された郵送物を彼らの顧客に送るので、私は送り主がこの問題を修正するのを手伝おうとしています。

彼らへの私の推奨は、現在のMIME標準に従って添付ファイルをエンコードし、仕様を指すようにすることでした http://tools.ietf.org/html/rfc2045

ここで何か欠けているものがあるかどうかを教えてくれるこのことについてもっと専門家がいるなら、間違った方向に進んでいるかどうか知らせてください。

おかげで、

M

---メッセージヘッダーのリクエストへの応答として投稿されました-コメントに収まりませんでした---

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: <[email protected].[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
5
Manca Weeks

(これはおそらくコメントになるはずですが、もう少しフォーマットが必要でした...)

まず、「バイナリコード」と言うと、次のようなものが表示されていますか。

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

UUencodeが適切に行われている場合、最後から2番目の行( "end"行の前)が "` "だけの行があり、データのすべての行は" `"の前を除いてMで始まります。

実際のUUencodingが正しい場合、次に確認するのはヘッダーがめちゃくちゃかどうかです。メッセージを作成しているSAPサーバーは、メッセージを生成するときに奇妙な動作をしている可能性があります。サンプルメッセージのヘッダー全体を投稿できますか?

編集:投稿されたヘッダーを確認した後、それはMIMEメッセージではありません-MIME-Versionヘッダー、Content-type行はありません...メッセージの本文としてUUencodedファイルのみを使用することは、MIME以前の時代へのフラッシュバックです、そしてファイルをUUデコードできるユーティリティはたくさんありますが、それは良い解決策ではありません。すでにコメントしたように、SAPサーバーはMIMEメッセージを送信するように構成する必要があります。

これは、正しくエンコードされたメッセージのサンプルです。ここにあるものすべてが適切であるとは限りませんが、問題のファイルの正しいヘッダーの例が以下のサンプルに表示されます。 content-typeおよびcontent-transfer-encodingヘッダーに注意してください。

 Return-path: <[removed]>
Received: from nk11p00mm-smtpin128.mac.com ([17.158.160.110])
 by ms01064.mac.com
 (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Jan
  3 2012)) with ESMTP id <[email protected]> for [removed];
 Sat, 05 May 2012 23:37:45 +0000 (GMT)
Original-recipient: rfc822;[removed]
Received: from p3plwbeout05-02.prod.phx3.secureserver.net ([97.74.135.47])
 by nk11p00mm-smtpin128.mac.com
 (Oracle Communications Messaging Server 7u4-23.01(7.0.4.23.0) 64bit (built Aug
 10 2011)) with SMTP id <[email protected]> for
 [removed] (ORCPT [removed]); Sat, 05 May 2012 23:37:45 +0000 (GMT)
Received: (qmail 4538 invoked from network); Sat, 05 May 2012 23:37:45 +0000
Received: from unknown (HELO localhost) (97.74.135.118)
 by p3plwbeout05-02.prod.phx3.secureserver.net with SMTP; Sat,
 05 May 2012 23:37:45 +0000
Received: (qmail 3092 invoked by uid 99); Sat, 05 May 2012 23:37:45 +0000
Content-type: multipart/mixed; boundary="=_9b9e05f8e0418ec345340e8a4ccb0c8f"
X-Originating-IP: 67.243.139.105
User-Agent: Workspace Webmail 5.6.17
Message-id:
 <20120505163744.aee46609c082ce5b1463c91da4f31dbb.ba713f24d9.wbe@email05.secureserver.net>
From: [removed]
To: [removed]
Subject: Test SAP
Date: Sat, 05 May 2012 16:37:44 -0700
MIME-version: 1.0

--=_9b9e05f8e0418ec345340e8a4ccb0c8f
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="utf-8"

<html><body><span style=3D"font-family:Verdana; color:#000000; font-size:10=
pt;"><div><br mce_bogus=3D"1"></div></span></body></html>
--=_9b9e05f8e0418ec345340e8a4ccb0c8f
Content-Transfer-Encoding: base64
Content-Type: text/MSEXCEL;
 name="Test_File.xls"; 
Content-Disposition: attachment;
 filename="Test_File.xls"; 

PEhUTUw+CjxIRUFEPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl
eHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTIiPgo8VElUTEU+SU5URVJBQ1RJVkUgVE9QIDIw

ZWwubnVtYmVyZm9ybWF0OkAiPjxGT05UIEZBQ0U9IkFyaWFsIj5JUDwvRk9OVD48L1REPgo8L1RS
Pgo8L1RhYmxlPgo8L0JPRFk+CjwvSFRNTD4K
--=_9b9e05f8e0418ec345340e8a4ccb0c8f--
1
Manca Weeks

UUENCODEは、バイナリデータを電子メールで送信するための古い形式です。これは、バイナリをテキストに変換するUnixプログラムで、送信者はこれを自分の電子メールに貼り付けることができます。受信者は結果の電子メールの内容をファイルに保存し、それをUUDECODEDして元のデータを表示しました。一部のクライアントはこれを自動的に行いました。

最近、UUENCODEはMIMEに取って代わられました。最良の答えは、UUENCODED添付ファイルをMIMEエンコードされた添付ファイルに置き換えることです。それが選択肢でない場合、あなたはあなたの電子メールクライアントのなすがままです。最近の電子メールクライアントはUUENCODEを使用して添付ファイルを送信しませんが、一部はUUENCODEDデータを自動的に検出してデコードします。他の人はしません。今朝のテストでは、Outlook 2010、Gmail、Thunderbirdがそれを検出してデコードしましたが、AppleのメールとIOSのメールは検出しませんでした。あなたのマイレージは異なる場合があります。

最近のヴィンテージのクライアントおよびウェブメールインターフェイスでこれらが正しくデコードされない理由を知りたいだけです

あなたは20年前の技術を使用していて、一部のクライアントはそれをサポートしていません。図を行きます。

彼らへの私の推奨は、現在のMIME標準に従って添付ファイルをエンコードすることです

それは絶対に正しい推奨事項です。そうすれば、普遍的なサポートを受けることができます。幸運を。

0
james.garriss