Windows Server 2008R2とIIS7.5.7600を使用しているので、SMTPサービスをインストールして、実行しています。次のPowerShellスクリプトを使用して動作することをテストしました。
$emailFrom = "user@yourdomain.com"
$emailTo = "user@yourdomain.com"
$subject = "your subject"
$body = "your body"
$smtpServer = "your smtp server"
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)
電子メールは、サーバーとして「localhost」を使用して送信されます。
ただし、WCFサービスのweb.configを構成した後:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="user@yourdomain.com">
<network
host="localhost"
port="25"
/>
</smtp>
</mailSettings>
</system.net>
コードが呼び出すと、一般的な意味のないエラーが発生します。
var mail = new MailMessage();
mail.To.Add("user@yourdomain.com");
mail.Subject = "[Smtp Client] TEST";
mail.Body = "TEST";
mail.IsBodyHtml = false;
var smtpMail = new SmtpClient();
smtpMail.Send(mail);
私は得る:
Failure sending mail.
at System.Net.Mail.SmtpClient.Send(MailMessage message)
他に何をチェックすればいいのか途方に暮れていますか?はい、サーバーにアプリケーションサーバーの役割をインストールしました。はい、WCFサービスは正常に機能しています。他のすべてのコードは期待どおりに実行され、電子メールの送信のみが失敗します。IISとローカルSMTPリレーの間に何らかの切断があるように見えますが、この特定の問題について説明しているものは何も見つかりませんでした(smtpを起動して実行できないか、構成を整理できない人のみ) 。
お手数をおかけしますが、よろしくお願いいたします。