[英]Sending an email via contact form with System.Net.Mail Asp.Net MVC C#
[英]sending email contact form c# asp.net visual studio 2012
我现在正在处理这几天,尽管它不会给我一个错误,但是它也不会发送电子邮件。(我什么也没收到)。 (发送电子邮件的消息将显示在我的联系表上...)
我已经在asp.net c#中创建了一个联系表单-它正在本地主机上运行,但是我想向我的gmail或Outlook帐户发送电子邮件。
问题是...我的代码有什么问题? 有什么建议么?
感谢您提前提供的所有帮助!
这是代码:
protected void BtnSubmit_Click1(object sender, EventArgs e)
{
if (IsValid) //if all boxes are filled in...
{
try
{
MailMessage mailMessage = new MailMessage();
MailAddress fromAddress = new MailAddress(txtbxEmailAddress.Text); //sender email address
mailMessage.From = fromAddress;
mailMessage.To.Add("myemail@gmail.com"); //receiver email address
mailMessage.Body = txtRequest.Text;
mailMessage.IsBodyHtml = true;
mailMessage.Subject = " Contact Us";
SmtpClient smtpClient = new SmtpClient();
smtpClient.Host = "smtp.gmail.com";
smtpClient.Port = 587;
smtpClient.EnableSsl = true;
smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtpClient.Credentials = new System.Net.NetworkCredential("myemail@gmail.com", "mypassword");
smtpClient.Send(mailMessage);
}
catch (Exception)
{
lblMailmsg.Text = String.Format("Error sending email");
}
lblMailmsg.Text = String.Format("Your Message has been sent. We will be in contact with you as soon as possible."); //msg show when mail is sent
//clear contact form
txtbxfname.Text = "";
txtbxLName.Text = "";
txtbxEmailAddress.Text = "";
txtRequest.Text = "";
}
}
}
}
最大的问题是,我看到这行是您的代码。
mailMessage.From = fromAddress;
这将破坏SPF,并导致DMARC失败,并且您将永远不会收到某些人的消息。
您可以在此处了解更多信息: “ DMARC-噩梦联系表”
建议的解决方法是:
mailMessage.From = "myemail@gmail.com"
mailMessage.Subject = " Contact Us" + fromAddress;
这样-您可以避免文章中的问题概述。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.