0

私はC#/ Visual Studio 2012を使用して、元の電子メールを添付ファイルとして電子メールの送信者に返信する電子メールプロセスを作成しています。彼らが送信する電子メールの処理中にエラーが発生したときにこれを行います。在庫の.NETSystem.Net.Mail.MailMessageとを使用していますSystem.Net.Mail.SmtpClient

元の電子メールemlを取得し、電子メールemlの内容を使用してMemoryStreamを作成します。

memStream = new MemoryStream(Encoding.ASCII.GetBytes(exception.EmailEml));
memStream.Seek(0, SeekOrigin.Begin);

次に、電子メールを作成し、次のように添付ファイルを追加してみます。

 message.Attachments.Add(new Attachment(contentStream,
                    System.Net.Mime.MediaTypeNames.Text.Plain));
                message.Attachments[0].Name = subject + ".msg";

Outlookでは、メッセージは添付ファイルとして表示されますが、Outlookは添付ファイルを開くことができません。Outlookからエラーが発生します...

.MSG添付ファイルがOutlookで開くように正しいMIMEタイプを設定するだけの問題ですか、それとも私が行う必要がある他の何かですか?

テキストエディタ内で.msg添付ファイルを確認すると、ヘッダーに次のように表示されます。

Received: from server.com ([___]) by
 server.com ([___]) with mapi id
 ___; Mon, 25 Mar 2013 23:00:20 -0400
From: Me <myemailaddy>
To: Server Side Mailbox Process <processemailaddy>
Subject: subject text
Thread-Topic: Topic text
Thread-Index: Ac4pzgz84kK07LIdQ+uIR67iWBoSxw==
Date: Mon, 25 Mar 2013 23:00:20 -0400
Message-ID:
 <4B10588A111F814E992DA95C07AD4F5E0CA102@server.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 04
X-MS-Exchange-Organization-AuthSource: server.com
X-MS-Has-Attach:
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator:
Content-Type: text/html; charset="us-ascii"
MIME-Version: 1.0

ありがとう!

4

1 に答える 1

1

私の悪いことに、電子メールのソースはeml形式でした。現在、eml拡張機能を使用してファイルをメールに添付しています。この場合のクリティカルパスは、現在このアプローチで機能しています。

于 2013-03-26T15:06:22.253 に答える