ASP.NET MVC Форма обратной связи
Я создаю контактную форму для клиентов, чтобы ввести информацию в форму и отправить нам письмо. Кроме того, мой пакет хостинга находится под Go Daddy. Я использовал следующий код в качестве теста, и он работал.
MailMessage oMail = new System.Web.Mail.MailMessage();
oMail.Subject = "Subject",
oMail.Body
oMail.From = "myFromAddress@domain.com",
oMail.To = "myToAddress@someotherdomain.com",
SmtpMail.SmtpServer = "relay-hosting.secureserver.net";
SmtpMail.Send(oMail);
Затем я изменил код, чтобы получить информацию, вводимую из формы для отправки по электронной почте, а не из-за ошибки.
public ActionResult ContactForm(ContactModel emailModel)
{
MailMessage oMail = new System.Web.Mail.MailMessage();
oMail.From = "Website Contact Form";
oMail.To = "myemail@hmydomain.com";
oMail.Subject = emailModel.Subject;
string body = "Name: " + emailModel.Name + "\n"
+ "Email: " + emailModel.Email + "\n"
+ "Website: " + emailModel.Website + "\n"
+ "Phone: " + emailModel.Phone + "\n\n"
+ emailModel.Message;
oMail.Body = body;
SmtpMail.SmtpServer = "relay-hosting.secureserver.net";
SmtpMail.Send(oMail);
return View();
}
Это дает мне эту ошибку
COMException (0x8004020d): требуется хотя бы одно из полей From или Sender, и ни одно из них не найдено
2 ответа
Решение
Похоже, вы не предоставляете поле электронной почты от:
oMail.From = "someEmail@someDomain.com"; //instead of -> "Website Contact Form"
Указанное вами поле "От" не является действительным адресом электронной почты. От и до должны быть в формате электронной почты, даже если они не являются реальными адресами, которые могут отправлять или получать почту.