1

Outlook を表示すると、自分のメールボックスだけでなく、追加の「ビジネス機能」メールボックスも表示されます。そのうちの 1 つが「オプトアウト」です。

これらの関数メールボックスのいくつかを (セッション内のフォルダーを列挙することによって) ループし、すべてのメールを取得するコンソール アプリを作成しました。

あるケースでは、メールに返信して、彼らが登録解除を求めていることを伝える必要がありますが、彼らが使用した (または本文で提供された) メールをデータベースで見つけることができず、正しいメールで返信してもらえますか.. . これは、人々がメール転送を持っていて、忘れてしまっている場所である傾向があります (そして、私たちはこれらのことをばかげた量にしています!)

以下のコードでは、OutlookItem はカスタム クラスであり、償還または Outlook クラスではありません。

私が使用したとき:

private void replyToMail(OutlookItem item)
{
    RDOSession session = new RDOSession();
    session.Logon(null, null, null, true, null, null);
    RDOMail thisItem = session.GetMessageFromID(item.EntryID, item.StoreID, null);
    RDOMail reply = thisItem.Reply();
    reply.Subject = "Automated Response - Could not complete unsubscribe";
    reply.Body = "This is an automated response ...";
    reply.BCC = "test@our-domain.co.uk";
    reply.Send();
    session.Logoff();
}

メールは正常に送信されますが、optingout@our-domain.co.uk からではなく、私のアドレスから送信されます

私が使用する場合:

private void replyToMail(OutlookItem item)
{
    RDOSessionClass session = new RDOSessionClass();
    session.LogonExchangeMailbox("optingout", "big.ol.mailserver");
    RDOMail thisItem = session.GetMessageFromID(item.EntryID, item.StoreID, null);
    RDOMail reply = thisItem.Reply();
    reply.Subject = "Automated Response - Could not complete unsubscribe";
    reply.Body = "This is an automated response ...";
    reply.BCC = "test@our-domain.co.uk";
    reply.Send();
    session.Logoff();
}

メールプロファイルが構成されていないという例外がスローされます

では、引き換えを使用してメッセージに返信し、送信アドレスを制御するにはどうすればよいでしょうか?

よろしくお願いします...

4

1 に答える 1

1

RDOMailメッセージの送信者に対応するプロパティが呼び出されますSentOnBehalfOf*。可能であれば、EntryID (つまりSentOnBehalfOfEntryID) で設定するか、対応するオブジェクトを-propertyRDOAddressEntryに直接割り当てて設定します。-propertySentOnBehalfOfのみを設定すると、名前があいまいになるリスクがあります。SentOnBehalfOfName

これを設定するには、Exchange ストアへのログオンに使用するアカウントに、メッセージの送信元となるアドレス帳エントリの "送信者" アクセス許可が必要です。

于 2010-02-15T12:38:23.250 に答える