C# Asp.net core 1.0从Gmail发送电子邮件
我是ASP.NETCore的新手,我希望在用户从gmail帐户注册时发送确认电子邮件。我在VS13的一个项目中使用了相同的gmail帐户,并取得了巨大的成功。但现在我无法发送。没有错误,只是我的发送框中没有出现电子邮件C# Asp.net core 1.0从Gmail发送电子邮件,c#,asp.net,asp.net-mvc-5,asp.net-core,C#,Asp.net,Asp.net Mvc 5,Asp.net Core,我是ASP.NETCore的新手,我希望在用户从gmail帐户注册时发送确认电子邮件。我在VS13的一个项目中使用了相同的gmail帐户,并取得了巨大的成功。但现在我无法发送。没有错误,只是我的发送框中没有出现电子邮件 public async Task SendEmailAsync(string email, string subject, string message) { var emailMessage = new MimeMessage();
public async Task SendEmailAsync(string email, string subject, string message)
{
var emailMessage = new MimeMessage();
emailMessage.From.Add(new MailboxAddress("Rentals Rated", "*******@gmail.com"));
emailMessage.To.Add(new MailboxAddress("", email));
emailMessage.Subject = subject;
emailMessage.Body = new TextPart("plain") { Text = message };
using (var client = new SmtpClient())
{
var credentials = new NetworkCredential
{
UserName = "********@gmail.com",
Password = "******"
};
// client.LocalDomain = "gmail.com";
await client.ConnectAsync("smtp.gmail.com", 587, SecureSocketOptions.Auto).ConfigureAwait(false);
await client.AuthenticateAsync(credentials);
await client.SendAsync(emailMessage).ConfigureAwait(false);
await client.DisconnectAsync(true).ConfigureAwait(false);
}
}
^这是我目前的尝试
在VS13中,这是我的工作代码。与问题不太相关,但可能会激发想法。谢谢
public static void sendEmail(string email, string emailSubject, string emailBody, string firstName)
{
MailAddress fromAddress = new MailAddress("*****@gmail.com", "****");
MailAddress toAddress = new MailAddress(email, firstName);
const string fromPassword = "*******";
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential(fromAddress.Address, fromPassword);
MailMessage message = new MailMessage(fromAddress, toAddress);
message.Subject = emailSubject;
message.Body = emailBody;
smtp.Send(message);
}
注意
调试时,ConnectAsync(…)之后的三行代码>永远不会被击中
通过删除异步方法并使用
client.Connect("smtp.gmail.com", 587, false);
client.Authenticate(credentials);
client.Send(emailMessage);
client.Disconnect(true);
它工作正常您允许您的gmail帐户从“不太安全的应用程序”访问吗?是的,我为我的VS13项目启用了此功能。非常奇怪的是,您没有收到任何错误,它应该可以工作,我正在使用.net Core发送邮件(不是通过gmail),并且它的行为与旧的SmtpClient一样。。。你检查过垃圾邮件文件夹吗?我检查过发件人和收件人的相关文件夹。你在用什么邮箱?我有一些我可以尝试/使用我们使用自己的SMTP服务器,我想这是后缀。