ASP.Net C#应用程序不发送没有默认凭据的电子邮件

时间:2016-02-29 05:36:08

标签: c# asp.net email

大家好我在我的ASP.Net项目中遇到了一个问题,就是像以前一样折磨着我!所以我的问题是我可以在注册新用户后发送电子邮件,但它使用默认凭据,即使我将其设置为false。我不希望新用户看到我的实际gmail或outlook电子邮件,我想将其带到更专业的级别,如“no-reply@imaginarydomain.com”或类似的东西。我不打算注册一些网络服务并花很多钱只是为了创建一个自动回复的电子邮件,我永远不会检查你知道...这是我的Web.config SMTP代码:

<system.net>
<mailSettings>
  <smtp deliveryMethod="Network" from="no-reply@mydomain.com">
    <network defaultCredentials="false" host="smtp.gmail.com" port="587" userName="My actual Gmail" password="My Password" enableSsl="true" />
  </smtp>
</mailSettings>

这是我在Registration.aspx.cs中的代码:

MailMessage activationMail = new MailMessage();
            string useractivation = "http://localhost:53631/Account/Activation.aspx?username=" + username.Text;
            activationMail.From = new MailAddress("no-reply@mydomain.com", "My E-Mail Displaying Name");
            activationMail.To.Add(mail1.Text);
            StreamReader sRead = new StreamReader(Server.MapPath("~/Mails/ActivationMail.html"));
            string readFile = sRead.ReadToEnd();
            string Strcontent = "";
            Strcontent = readFile;
            Strcontent = Strcontent.Replace("[Name]", realname.Text);
            Strcontent = Strcontent.Replace("[Username]", username.Text);
            Strcontent = Strcontent.Replace("[Password]", pass1.Text);
            Strcontent = Strcontent.Replace("[useractivation]", useractivation);
            Strcontent = Strcontent.Replace("[Site]", "http://localhost:53631");
            Strcontent = Strcontent.Replace("[Facebook]", "facebook");
            activationMail.Subject = "Your Registration to ASP.Net website or something...";
            activationMail.Body = Strcontent.ToString();
            activationMail.IsBodyHtml = true;
            activationMail.BodyEncoding = UTF8Encoding.UTF8;
            activationMail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
            SmtpClient client = new SmtpClient();
            client.Send(activationMail);

如果有人有什么请在下面发表评论谢谢...

1 个答案:

答案 0 :(得分:0)

“no-reply@mydomain.com”必须是有效的电子邮件。 Gmail不允许您使用不属于您的别名或未链接到您帐户的别名。 查看this link.

这是一个非常明显的安全问题,即提供商不允许发送来自无效/未经验证的电子邮件的电子邮件。

如果您拥有该域名,我建议您使用Mandrill之类的内容来实现此功能。你可以免费获得12,000免费配额。