我正在创建一个联系表格,供客户在表格中键入信息并向我们提交电子邮件。此外,我的托管包位于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 + "nn"
+ emailModel.Message;
oMail.Body = body;
SmtpMail.SmtpServer = "relay-hosting.secureserver.net";
SmtpMail.Send(oMail);
return View();
}
它给了我这个错误
COMException(0x8004020d):至少需要"发件人"或"发件人"字段中的一个,但均未找到
看起来您没有提供来自字段的电子邮件
oMail.From = "someEmail@someDomain.com"; //instead of -> "Website Contact Form"
您指定的"发件人"字段不是有效的电子邮件地址。往来地址需要采用电子邮件格式,即使它们不是可以发送或接收邮件的实时地址。