localhostでローカルにアプリケーションを実行すると、例外なしで電子メールが正常に送信されます。しかし、私がアプリケーションを公開し、電子メールを再作成しようとすると、電子メールは送信されず、対応するエラーのあるビューも送信されません。ASP.NET MVC SMTPClientがホストされた環境で動作しない
try
{
using (var mail = new MailMessage())
{
const string email = "*******@gmail.com";
const string password = "*********";
var loginInfo = new NetworkCredential(email, password);
mail.From = new MailAddress("*******@gmail.com");
mail.To.Add(new MailAddress("[email protected]"));
mail.Subject = subject;
mail.Body = body;
mail.IsBodyHtml = true;
try
{
using (var smtpClient = new SmtpClient("smtp.gmail.com", 587))
{
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = loginInfo;
smtpClient.Send(mail);
}
}
finally
{
mail.Dispose();
}
}
}
catch (SmtpFailedRecipientsException ex)
{
foreach (SmtpFailedRecipientException t in ex.InnerExceptions)
{
var status = t.StatusCode;
if (status == SmtpStatusCode.MailboxBusy ||
status == SmtpStatusCode.MailboxUnavailable)
{
return View(status);
}
else
{
return View(status);
}
}
}
catch (SmtpException Se)
{
// handle exception here
return View(Se);
}
catch (Exception ex)
{
return View(ex);
}
サーバーでプログラムのデバッグを試みましたか?また、ロギングを追加することで、コードのパスを正確に確認することができます。 – mason