2012-02-01 27 views
3

私は毎日(Windowsスケジューラを介して)実行する予定のC#プログラムを用意しています。プログラムは私のチームに日報を送ることです。 私は電子メールを送信するために次のように書いてあり、それは動作します。唯一の問題は、Outlookが "プログラムがあなたのために電子メールメッセージを送信しようとしていますが、予期しない場合は......"というメッセージボックスが表示されていることです。 「拒否」「拒否」の3つのボタンがあり、その時点でプログラムが停止しているように見えます。また、許可または拒否ボタンをクリックするまで、プログラムは電子メールを送信しません。 私はツールを使用してオプションを変更することができます - >トラストセンター - >プログラムのアクセスを知っているが、私は実際には、このプログラムは最終的にユーザーがアクセスする可能性がありますか、トラストセンターの設定を変更します。 プログラムでこの警告を無効にする方法はありますか? ..orMS Outlookから電子メールを送信して警告を無効にする

Application olook = new Application(); 
     NameSpace ns = olook.GetNamespace("MAPI"); 
     ns.Logon(null, null, true, true); 

     _MailItem msg = (_MailItem)olook.CreateItem(OlItemType.olMailItem); 

     msg.To = "[email protected]"; 
     msg.Subject = "test"; 

     msg.HTMLBody = strHTML; 

     msg.Send(); 
     ns.Logoff(); 
+0

これを無効にすることはできません。彼の知識や承認なしにユーザーのアドレスから電子メールを送信するプログラムは、大きなセキュリティホールになります。 – millimoose

+2

これは実際にはExchangeとは関係がなく、Outlookのセキュリティとは関係ありません。 – jrummell

答えて

1

..ここで、この警告のポップアップ

をせずに電子メールを送信することがもう一つの方法は、それが正常に動作しますemail..andを送信するために使用されるコードであるいくつかの方法がありますそして、あなたが使用することができhttp://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx

:@DJ KRAZEは

を説明したかのthats可能な場合は、これを見 お使いの環境では、SMTP経由でメッセージを送ることができるようにあなたのポップアップを無効にすることができ こと私はそれを使用しましたが、メッセージはありません。なぜなら、償還はそれらを抑制するためです(またはそれらの周りで働く)が、comは快適ではないライブラリを使用しているからです。 あなたはそれを支払う必要があります: http://www.dimastr.com/redemption/home.htm

THIRの選択肢はこれはかなりまっすぐ進むと楽しい使用することです http://www.microsoft.com/download/en/details.aspx?id=13480管理Exchange Webサービス を使用しています。あなたはNuGet経由でもそれを得ることができます。 :)

EDIT:

私は言及を忘れてしまった、Exchange Webサービスは、Exchange 2007 SP1以降でのみ利用可能であること。最も簡単な解決策のhttp://msdn.microsoft.com/en-us/library/dd637749(v=exchg.80).aspx

1

つのExchangeのSMTPサーバーを使用するようにされています 、これは

EmailMessage message = new EmailMessage(service); 
message.Subject = "Hello from the EWS Managed API"; 
message.Body = "Now that's easy!"; 
message.ToRecipients.Add("[email protected]"); 
message.Save(); 

は、導入のためのここを見て(後にサーバに接続する)は、メッセージを送信するためにどのように見えるかです。例はMSDNです。

string to = "[email protected]"; 
string from = "[email protected]"; 
MailMessage message = new MailMessage(from, to); 
message.Subject = "Using the new SMTP client."; 
message.Body = @"Using this new feature, you can send an e-mail message from an application very easily."; 

SmtpClient client = new SmtpClient(server); 
// Credentials are necessary if the server requires the client 
// to authenticate before it will send e-mail on the client's behalf. 
client.UseDefaultCredentials = true; 
client.Send(message); 

もちろん、Exchange管理者にSMTPが有効になっていることを確認する必要があります。

関連する問題