C#プログラムからOutlookの受信トレイにある新しいメッセージの件名、送信者アドレス、メッセージ本文を読み取る必要があります。しかし、セキュリティアラートが表示されます'プログラムがOutlookに保存されている電子メールアドレスにアクセスしようとしています。これを許可しますか?
いくつかのグーグルで、これを回避するためのサードパーティのCOMライブラリはほとんど見つかりませんでした。しかし、私はサードパーティのCOMライブラリを必要としないソリューションを探しています。
Outlookメールアイテムの送信者の電子メールアドレスにアクセスしているときに同じ問題が発生しました。「セキュリティアラート」を回避するには、新しいアプリケーションオブジェクトを作成せず、代わりにGlobals.ThisAddIn.Applicationを使用して新しいメールアイテムを作成します。
string GetSenderEmail(Outlook.MailItem item)
{
string emailAddress = "";
if (item.SenderEmailType == "EX")
{
Outlook.MailItem tempItem = (Outlook.MailItem)Globals.ThisAddIn.Application.CreateItem(Outlook.OlItemType.olMailItem);
tempItem.To = item.SenderEmailAddress;
emailAddress = tempItem.Recipients[1].AddressEntry.GetExchangeUser().PrimarySmtpAddress.Trim();
}
else
{
emailAddress = item.SenderEmailAddress.Trim();
}
return emailAddress;
}
申し訳ありませんが、Outlook 2003 アドインと Outlook 2007 アドインの両方で厄介な問題が発生しました。有効な唯一の解決策は、Redemptionライセンスを購入することでした。Outlook 2007 では、覚えている限り、ファイアウォールがダウンしているか、ウイルス対策ソフトウェアが古くなっている場合にのみ、厄介なポップアップが表示されます。
これを試して
[ツール]->[マクロ]->[セキュリティ]->[プログラムによるアクセス]
次に、[疑わしいアクティビティについて警告しない]を選択します。
「しかし、サードパーティのCOMライブラリを必要としないソリューションを探しています。」
あなたはそれを見つけることができません。Kasperは、私が知っている唯一の解決策をすでに指摘しています。Outlookのプラグインとコードを機能させ続けているのは、償還だけです。FranklinCovey用の商用Outlookアドインを作成しました。私たちは多くのことを探求しましたが、このハードルを乗り越えたのは償還だけでした。
これには、Mapilab のAdvanced Security for Outlookを使用します。無料で商用利用も可能で、Outlook を安全に保ちます (承認されたアプリケーションからのアクセスのみを許可することにより)。お金がかかるか、セキュリティを損なう可能性がある前述のソリューションにちょうど反対します。
アプリケーションが Outlook プラグインでない場合は、MAPIを調べて受信トレイからデータを読み取ることができます
Outlook のセキュリティ センターを使用して、セキュリティ ポップアップを無効にすることができます。ここで確認してください。