1、注册一个免费的Gmail帐户
使用ASP.NET Core和.NET Core Console应用程序发送电子邮件,首先要注册一个Gmail的邮件帐户。
2、ASP.NET Core和.NET Core Console程序发送邮件代码
1)使用的命名空间
using System.Net;
using System.Net.Mail;
2)发送邮件代码
using (var message = new MailMessage()) { //收件人 message.To.Add(new MailAddress("to@email.com", "To Name")); //From地址很重要。是邮件显示来自的邮件地址,也是邮件客户端中点击回复按钮时回复的地址。 message.From = new MailAddress("from@email.com", "From Name"); //抄送 message.CC.Add(new MailAddress("cc@email.com", "CC Name")); //密件抄送 message.Bcc.Add(new MailAddress("bcc@email.com", "BCC Name")); message.Subject = "Subject"; message.Body = "Body"; message.IsBodyHtml = true; //使用using,因为MailMessage实现了IDisposable接口。 using (var client = new SmtpClient("smtp.gmail.com")) { client.Port = 587; //gmail帐户和密码 client.Credentials = new NetworkCredential("send-address@gmail.com", "password"); client.EnableSsl = true; client.Send(message); } }
说明:将上面代码中 send-address@gmail.com
和password
替换成相应的gmail帐户和密码,但尽量不像上述代码一样,写死在代码中,要写到(appsettings.json)配置文件中,并且密码最好加密后存在配置文件中,在程序中进行解密。
3、Gmail 启用不太安全的应用程序
从 2022 年 5 月 30 日起,Google 不再支持使用第三方应用或设备,这些应用或设备要求仅使用您的用户名和密码登录的 Google 帐户。因此,必须为我们的应用程序使用不同的解决方案。为此,需要先为我们的 Gmail 帐户启用两步验证,然后我们可以使用应用密码功能来解决这个问题。
需要要启用两步验证,我们必须:
导航到 Google 帐户 - 将从 (https://myaccount.google.com/) 发送电子邮件的帐户
1)在左侧的菜单中,我们应该选择 Security
2)然后在“登录谷歌”部分下,可以看到两步验证已关闭——所以我们必须点击它
3)单击开始,提供您的密码,并通过提供手机号码确认代码
4)如果一切顺利,应该会看到打开选项,因此只需单击它,此时,已经启用了两步验证,可以返回安全页面。在那里,在相同的“登录谷歌”部分下,可以找到应用专用密码选项设置为无。
5)必须点击它提供密码,单击选择应用程序菜单,并选择其他(自定义名称)选项,为我们的应用程序提供我们喜欢的任何名称,然后单击“生成”按钮,将为我们生成一个新密码,应该在appsettings.json文件中使用它而不是我们的个人密码。
有了这个,我们可以再次使用我们的第三方应用程序发送电子邮件。