2

C#.NET 4.0 で Outlook 2007 アドインを作成しました。

C# コードで差出人セーフ リストを読み取りたい。

        if (oBoxItem is Outlook.MailItem)
        {
            Outlook.MailItem miEmail = (Outlook.MailItem)oBoxItem;
            OlDefaultFolders f = Outlook.OlDefaultFolders.olFolderContacts;

            if (miEmail != null)
            {
                string body = miEmail.Body;
                double score = spamFilterObject.CalculateSpamScore(body);

                if (score <= 0.9)
                {
                    miEmail.Move(mfJunkEmail);
                }
            }
        }

したがって、上記のコードは、差出人セーフ リストに存在する場合でも、すべての電子メールをスパムに移動します。したがって、このスパム チェックを回避できるように、安全な送信者リストを取得したいと考えています。

誰でもこれについて私を助けてもらえますか?

4

3 に答える 3

1

Outlook オブジェクト モデルは、これらのリストを公開しません (多かれ少なかれ明らかな理由により)。差出人セーフ リストは、次のレジストリから直接読み取ることができます。

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\[PROFILE NAME]\0a0d020000000000c000000000000046\001f0418

このバイナリ レジストリ キーには、セミコロン (;) で区切られた 2 バイト文字が含まれています。

このレジストリ キーへの MAPI プロパティ マッピングは PR_SPAM_TRUSTED_SENDERS_W であり、ここに記載されています。

于 2011-06-06T19:00:09.053 に答える