Office 365 環境において Outlook で OFT を使用し返信するルールで内部への自動返信の際、配信不能通知が返る

現象

Office 365 環境において Outlook の [特定のテンプレートを使って返信する] のルールにより内部のアドレスに対して自動返信が行われると、以下のような配信不能通知により送信が失敗します。

次の受信者またはグループへの配信に失敗しました:

/CN=RECIPIENTS/CN=XXXXX.ONMICROSOFT.COM-XXXXX-XXXXXXXX@XX.XX.XXXXX

このメッセージの配信中に問題が発生しました。電子メール アドレスが正しいことを確認してから再送信してください。問題が引き続き発生する場合は、ヘルプデスクに問い合わせてください。

また、ルールがエラーとなる場合もあります。

原因

Outlook のクライアント側の仕分けルールによる自動返信においては、差出人のアドレスに対して Outlook 上で名前解決を実行します。Exchange 組織内の差出人のアドレスは SMTP アドレスではなく X.500 形式のアドレスが使用されますが、X.500 形式のアドレスに @ が含まれており、[表示名 + SMTP アドレス] として認識できるような形式である場合、X.500 形式のアドレスではなく SMTP アドレスとして処理が行われます。

その結果、存在しないドメインへの送信と認識されて、配信不能通知が返されて送信に失敗します。

解決方法

Outlook 2010 では以下の修正プログラムの適用により現象を回避可能です。

2687608 Description of the Outlook 2010 hotfix package (Outlook-x-none.msp): October 30, 2012

回避策

以下のいずれかの方法で回避が可能です。

  1. Exchange サーバーのルールで自動返信を行う [通知メッセージを使ってサーバーで返信する] により自動返信を行った場合、名前解決がサーバーで実行されるため現象が発生しません。
    なお、このルールで設定を行った場合は Outlook を起動していない状態でも自動返信を行うことが可能です。
  2. マクロを使って自動返信を実装します。
    [スクリプトを実行する] により自動返信を行うマクロを指定し、このマクロの中で SMTP アドレスにより名前解決を実行することにより、現象を回避することができます。

    以下は、[スクリプトを実行する] で指定可能なマクロのサンプルです。


    Public Sub ReplyWithTemplate(ByRef objMail As MailItem)

    Const OFT_FILE = "C:\Users\UserName\AppData\Roaming\Microsoft\Templates\Auto Reply.oft" ' OFT ファイルを指定します。

    Dim objReply As MailItem

    Dim objTo As Recipient

    Dim strAddress As String



    Set objReply = objMail.Reply

    Set objTo = objReply.Recipients.Item(1)

    If objTo.AddressEntry.Type = "SMTP" Then

    strAddress = objTo.Name & "<" & objTo.Address & ">"

    Else

    strAddress = objTo.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x39fe001e")

    End If



    Set objReply = Application.CreateItemFromTemplate(OFT_FILE)

    objReply.Recipients.Add strAddress

    objReply.Send

    End Sub

プロパティ

文書番号:2743451 - 最終更新日: 2016/09/29 - リビジョン: 1

フィードバック