从ASP.Net发送电子邮件,从未正确显示的地址到收件人

时间:2013-10-29 14:07:31

标签: c# asp.net email

当我从ASP.Net应用程序发送电子邮件时,我遇到了一个问题。发送邮件时没有错误,但当收件人收到电子邮件时,来自电子邮件地址会显示为网络凭据的用户名。

在我的情况下,我使用smtp.gmail.com作为smtp主机,用户名和密码也是我的Gmail帐户。

MailMessage mail = new MailMessage();
mail.From = new MailAddress("abc@mydomain.com", "Enquiry");
mail.To.Add("munjal.pandya@yahoo.com");
mail.IsBodyHtml = true;
mail.Subject = "Registration";
mail.Body = "Some Text";
mail.Priority = MailPriority.High;

SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
//smtp.UseDefaultCredentials = true;
smtp.Credentials = new System.Net.NetworkCredential("xyz@gmail.com", "<my gmail pwd>");
smtp.EnableSsl = true;
//smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Send(mail);

向收件人显示的From地址为xyz@gmail.com。但实际上它应该是abc@mydomain.com

如果有人对此问题有所了解,请告诉我。

3 个答案:

答案 0 :(得分:1)

使用Gmail,无法欺骗发件人。 Gmail始终显示实际的“发件人”,而不是欺骗者。

您可以尝试与其他电子邮件提供商合作,但Gmail在保护用户方面非常严格。

答案 1 :(得分:0)

这不是编码问题,只需将电子邮件abc@mydomain.com添加为gmail中的附加地址并进行验证即可。

在gmail界面中:设置 - &gt;帐户 - &gt;发送信件为......

答案 2 :(得分:0)

感谢您的回复。电子邮件地址需要通过Gmail帐户设置进行验证。

请查看我的博客文章,详细描述了相应的步骤:

http://karmic-development.blogspot.in/2013/10/send-email-from-aspnet-using-gmail-as.html

在执行上述所有步骤之前,您需要对您的Gmail帐户进行身份验证,以允许访问您的应用程序以及设备。请通过以下链接检查帐户身份验证的所有步骤:

http://karmic-development.blogspot.in/2013/11/allow-account-access-while-sending.html