C#次のコードでメールを送信しようとしています。 OSはWindows 2008サーバーです。 SMTPがインストールされています。メールを送信失敗:web.configファイルでメールの送信に失敗しました。SmtpClientで送信中に例外が発生しました。
MailMessage message = new MailMessage();
string[] recipientslist = recipients.Split(';');
foreach (string recipient in recipientslist)
{
if (!String.IsNullOrEmpty(recipient))
{
System.Net.Mail.MailAddress mailAddress =
new System.Net.Mail.MailAddress(recipient);
message.To.Add(mailAddress.Address);
}
}
message.From = new MailAddress(sender);
message.Subject = subject;
message.Body = body;
SmtpClient smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
smtpClient.UseDefaultCredentials = true;
smtpClient.Send(message);
<system.net>
<mailSettings>
<smtp deliveryMethod="PickupDirectoryFromIis">
<network host="localhost" port="25" defaultCredentials="true" />
</smtp>
</mailSettings>
</system.net>
でもSMTPがインストールされている、 は、私は例外を取得mは。 スタックトレース:System.Net.Mail.SmtpClient.Send(MailMessageメッセージ)....
====================== ========================================== ================
SMTPがインストールされていない他のシナリオで、それはIISのピックアップディレクトリに
任意の助けを得ることができない私に例外を与えることは非常にかなりのです。 *
おかげ* 強いテキスト
これらのスニペットは非常に有用ではありません。..いくつかのポインタを、メールを送信する前に確認する必要があり、チェックリストは以下の通りです:あなたは、Telnetを使用してローカルのSMTPに接続することができますか?例外の詳細を貼り付けます –
IISユーザーがピックアップディレクトリへの書き込み権限を持っていますか?また、PickupDirectoryFromIisの代わりにNetwork配信メソッドを使用しようとしましたか? – JamieSee
@Osama:telnetを使ってローカルsmtpに接続できます。例外は有益ではありません」例外:メールの送信に失敗しました スタックトレース:System.Net.Mail.SmtpClient.Send(MailMessageメッセージ) QH.ExchangeProtection.Util.CommonUtil.SendMail(文字列送信者、文字列受信者、 String body) " –