Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Asp.net core 1.0从Gmail发送电子邮件_C#_Asp.net_Asp.net Mvc 5_Asp.net Core - Fatal编程技术网

C# Asp.net core 1.0从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();

我是ASP.NETCore的新手,我希望在用户从gmail帐户注册时发送确认电子邮件。我在VS13的一个项目中使用了相同的gmail帐户,并取得了巨大的成功。但现在我无法发送。没有错误,只是我的发送框中没有出现电子邮件

 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服务器,我想这是后缀。