Я пытаюсь отправить электронную почту с моего сайта с помощью SMTP. Я получаю сообщение об ошибке, когда я это делаю. Я тестировал его локально, используя мой SMTP-сервер ISP, и он отлично работал. Теперь, когда я нахожусь в Интернете, хотя это не так. Я не уверен, что ошибка, которую я получаю, другая, тогда она не работает, и я получаю сообщение об ошибке, которое я запрограммировал на сайте. Вы можете увидеть мой код ниже.Ошибка отправки электронной почты через SMTP на ASP.NET MVC
Я пробовал пару разных серверов без везения. Я знаю, что логин/пароль хорош, потому что я его проверил. Мой хостинг-провайдер - winhost, но моя электронная почта проходит через gmail. Итак, я настраиваю учетную запись на godaddy, которая позволяет 250 реле.
public class EmailMeController : Controller
{
//
// GET: /EmailMe/
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index()
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(EmailModel emailModel)
{
if (ModelState.IsValid)
{
bool isOk = false;
try
{
MailMessage msg = new MailMessage();
msg.From = new MailAddress("[email protected]", "Website Contact Form");
msg.To.Add("[email protected]");
msg.Subject = emailModel.Subject;
string body = "Name: " + emailModel.Name + "\n"
+ "Email: " + emailModel.EmailAddress + "\n"
+ "Website: " + emailModel.WebSite + "\n"
+ "Phone: " + emailModel.Phone + "\n\n"
+ emailModel.Message;
msg.Body = body;
msg.IsBodyHtml = false;
SmtpClient smtp = new SmtpClient("smtp.secureserver.net", 80);
NetworkCredential Credentials = new NetworkCredential("[email protected]", "password");
smtp.Credentials = Credentials;
smtp.Send(msg);
msg.Dispose();
isOk = true;
MessageModel rcpt = new MessageModel();
rcpt.Title = "Thank You";
rcpt.Content = "Your email has been sent.";
return View("Message", rcpt);
}
catch (Exception ex)
{
}
// If we are here...something kicked us into the exception.
//
MessageModel err = new MessageModel();
err.Title = "Email Error";
err.Content = "The website is having an issue with sending email at this time. Sorry for the inconvenience. My email address is provided on the about page.";
return View("Message", err);
}
else
{
return View();
}
}
}
Нет сообщений об ошибке, вероятно, нет ответа. Избавьтесь от этого пустого 'catch' прямо сейчас и замените его, по крайней мере, на какой-то журнал; Таким образом, вы узнаете, что такое ошибка. – Aaronaught
Я не знаю, как зарегистрировать ошибку. Кроме того, я проверил это снова сегодня утром, используя тот же код как локально на cassini, так и удаленно на реальном сервере. он работает локально, но не работает удаленно. Ничего не меняется, включая информацию smtp. –
Я смог получить ошибку, это было довольно долго (дольше то, что поместилось бы в поле, поэтому я скопировал/вставил его здесь: drop.io/xsvslel/asset/error-log –