ASP.Net C# 应用程序不会在没有默认凭据的情况下发送电子邮件
本文关键字:情况下 电子邮件 默认 应用程序 Net ASP | 更新日期: 2023-09-27 18:36:50
大家好,我在 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>
这是我在注册中的代码.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);
如果有人有什么,请在下面发表评论,谢谢...
"
no-reply@mydomain.com"必须是有效的电子邮件。Gmail 不允许您使用不属于您或未关联到您帐号的别名。检查此链接。
这是一个非常明显的安全问题,提供商不允许发送来自无效/未经验证的电子邮件的电子邮件。
如果您拥有该域,我宁愿建议您使用类似Mandrill的东西来实现此功能。您可以免费获得 12,000 个免费配额。