Wenn ich meine Anwendung lokal auf localhost ausführen, wird die E-Mail erfolgreich ohne Ausnahmen gesendet. Aber wenn ich die Anwendung veröffentliche und versuche, die E-Mail neu zu erstellen, sendet sie weder die E-Mail noch sendet sie die Ansicht mit dem entsprechenden Fehler.ASP.NET MVC SMTPClient arbeitet nicht auf gehosteten Umgebung
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);
}
Haben Sie versucht, Ihr Programm auf dem Server zu debuggen? Oder fügen Sie die Protokollierung hinzu, damit Sie genau den Pfad sehen können, den der Code einschlägt? – mason