/ /メールボックスが利用できない状態でメールを送信できない - C#、windows、email、permissions、smtp

メールボックスを利用できない状態でメールを送信できない - c#、windows、email、permissions、smtp

コンソールアプリケーションをタスクとして構成し、定期的に電子メールをアプリケーションサーバーに送信しました(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