利用可能になったとき、私は自分のコード内の特定のアドレスに電子メールを送信しようとすると、私はこのエラーを取得:「SmtpFailedRecipientException:メールボックスが利用できない」メールボックスが
System.Net.Mail.SmtpFailedRecipientException:メールボックスが利用できません。サーバーの応答は次のとおりです。不明なユーザー
このコードは、私と2人の電子メールアドレスに電子メールを送信します。電子メールは私にはうまく送信されますが、電子メールを彼に送信しようとすると、そのエラーが発生します。
このエラーの一般的な説明は、電子メールアドレスが無効であるか、メールボックスがいっぱいでメールの受信が許可されていないか、またはサーバー上でそれを制限している設定がある電子メールを受信することから。
メールアドレスはメールを受け取ることができますが、私は今すぐメールで連絡しています。
このエラーが発生する他の理由はありますか?
EDIT:
は、ここで多分誰かが問題を見つけることができ、コードです。私はパラメータが渡されているチェックし、すべてのデータが正確である:
private static void SendEmail(IEnumerable<MailAddress> to, MailAddress from,
string subject, string body, string bodyHtml)
{
var mail = new MailMessage { From = from, Subject = subject };
foreach (var address in to)
{
mail.To.Add(address);
}
mail.AlternateViews.Add(
AlternateView.CreateAlternateViewFromString(bodyHtml, null, "text/html"));
mail.AlternateViews.Add(
AlternateView.CreateAlternateViewFromString(body, null, "text/plain"));
try
{
var smtp = new SmtpClient("localhost", 25)
{
Credentials = new NetworkCredential("xxx", "xxx")
};
smtp.Send(mail);
}
catch (Exception err)
{
Elmah.ErrorSignal.FromCurrentContext().Raise(err);
}
}
サーバ側では、静的IPからのsmtpを受け入れることや、またはMXレコード(DNS)などに対してIPをチェックする。 – Yahia
あなたのSMTP設定を再チェックしましたか?(web.configか、 System.Net.Mailオブジェクト)を使用して、適切なサーバーを使用していることを確認します(例:あなたのローカルホストではない)? –
@Brian - 私はlocalhostを使用していますが、それは私がホスティング会社で働く管理者が使用するように言われたものでした。それは正常に動作しているようだ、少なくとも私に電子メールを送信します。 – Steven