バウンスした電子メールを処理するバッチジョブを変換しています。 RedemptionからEWS(Exchange 2003からExchange 2010へのアップグレード)に切り替わります。あなたが知っているように、バウンスされた電子メールはさまざまな形で来ます。これは、Outlookで表示されるものであるEWS本文は空に戻っていますか?
Your message did not reach some or all of the intended recipients. Subject: Hello Sent: 4/01/2012 8:16 AM The following recipient(s) cannot be reached: [email protected] on 4/01/2012 8:19 AM The e-mail system was unable to deliver the message, but did not report a specific reason. Check the address and try again. If it still fails, contact your system administrator. smtp.mydomain.com #5.0.0 smtp; 5.3.0 - Other mail system problem 554-"delivery error: dd This user doesn't have a foo.com account ([email protected]) [-5] - mail.foo.com" (delivery attempts: 0)>
:私は私がの形で来るものを除き、持っているすべてのテストケースの電子メールを介して動作することができました。 EWSでメールを読むと、ボディは空です。 EWSでEメールを受け取ったら、上記の情報を調べる必要があります。電子メールには添付ファイル(元の電子メール)が添付されていますが、Outlookではそのようには見えません。私は、EWSから戻って来て、上記のテキストを見つけることができたほとんどすべてのプロパティを調べようとしました。 Redemptionでは、ReportTextを使用してこの情報を見ることができます。私たちが特に探しているのは、電子メールのエラー配信コードです。このコードに基づいて、私たちはさまざまなことを行います。
編集:私の他のテストケースのBody Propertyが空ではないことを明確にする。
Dim emailPset = New PropertySet(BasePropertySet.FirstClassProperties)
emailPset.RequestedBodyType = BodyType.Text
Dim f = EmailMessage.Bind(email.Service, email.Id, emailPset)
アップデート1:私はPR_NDR_STATUS_CODE & PR_REPORT_TEXTフィールドにメッセージの受信者テーブルを読むことができるようにする必要がありますようにいくつかの研究の後、それが見えます私のような電子メールをロードしています。 EWSでこれを行う方法があるかどうかを探しています。