コンソールアプリケーションをタスクとして構成し、定期的に電子メールをアプリケーションサーバーに送信しました(Windows Server 2008 R2 SP2)
このシステムにパッチがありましたが、今このエラーメッセージが表示されます: メールボックスは使用できません。サーバーの応答は次のとおりです。5.7.1クライアントにこの送信者として送信する権限がありません。
どのような設定やアクセス許可が影響を受けていますか?この問題を解決するにはどうすればよいですか?
コード:
using (var mail = new MailMessage())
{
mail.From = new MailAddress(from);
mail.To.Add(new MailAddress(to));
mail.Subject = subject;
mail.Body = message;
mail.IsBodyHtml = true;
this.smtpClient.Send(mail);
}
設定:
<system.net>
<mailSettings>
<smtp>
<network host="smtp.domain.com" port="25" defaultCredentials="true" />
</smtp>
</mailSettings>>
</system.net>
スタックトレース:
System.Net.Mail.DataStopCommand.CheckResponse(SmtpStatusCode statusCode, String serverResponse)
at System.Net.Mail.DataStopCommand.Send(SmtpConnection conn)
at System.Net.Mail.SmtpConnection.OnClose(Object sender, EventArgs args)
at System.Net.ClosableStream.Close()
at System.Net.Mail.MailWriter.Close()
at System.Net.Mail.SmtpClient.Send(MailMessage message)
回答:
回答№1は2おそらくこの問題はこのコード行にあります
mail.From = new MailAddress(from);
あなたの設定であなたが設定した事実 defaultCredentials
本当に。
あなたのSMTPはおそらくこのユーザーとして匿名で電子メールを送信することはできません。
2つのオプションがあります。メールを匿名で送信できるようにSMTPを設定するか、問題のユーザーのユーザー名とパスワードを明示的に指定して設定します UseDefaultCredentials
偽にする。
Exchangeを使用している場合はこちらをお読みください:
https://technet.microsoft.com/en-us/library/aa997170(EXCHG.140).aspx