Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.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# 使用google smtp服务器时在.net中发送电子邮件失败_C#_Email_C# 4.0_C# 3.0_C# 2.0 - Fatal编程技术网

C# 使用google smtp服务器时在.net中发送电子邮件失败

C# 使用google smtp服务器时在.net中发送电子邮件失败,c#,email,c#-4.0,c#-3.0,c#-2.0,C#,Email,C# 4.0,C# 3.0,C# 2.0,我正试图发送这样的电子邮件 var fromAddress = new MailAddress("fromaddress", "From Name"); var toAddress = new MailAddress("toaddress", "To Name"); const string fromPassword = "password"; const string subject = "Subject"; const stri

我正试图发送这样的电子邮件

var fromAddress = new MailAddress("fromaddress", "From Name");
        var toAddress = new MailAddress("toaddress", "To Name");
        const string fromPassword = "password";
        const string subject = "Subject";
        const string body = "Body";

        var smtp = new SmtpClient
        {
            Host = "smtp.gmail.com",
            Port = 587,
            EnableSsl = true,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            UseDefaultCredentials = false,
            Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
        };
        using (var message = new MailMessage(fromAddress, toAddress)
        {
            Subject = subject,
            Body = body
        })
        {
            smtp.Send(message);
        }


        Console.WriteLine("Sent");
        Console.ReadLine();
但它给出了这个错误

The SMTP server requires a secure connection or the client was not authenticated. 
The server response was: 5.5.1 Authentication Required.
我在本地主机上的简单控制台应用程序中使用这段代码。那么我的代码有什么问题

更新


我更改了fromAddress电子邮件,它成功地发送了电子邮件。但我的toAddress电子邮件的收件箱/垃圾邮件中没有收到任何电子邮件

创建SmtpClient时,尝试添加DeliveryMethod=SmtpDeliveryMethod.Network

见帖子:

这里讨论的原因有很多:


第一个链接中的代码对我有效。

是否使用两步验证? 您需要使用特定于应用程序的密码登录:


你的代码对我也有用

为什么C#4、3、2都被标记?你确定用户名/密码组合确实有效吗?我看到您的实现与相同。您尝试过端口465吗?@HOKBONG是的,当我们尝试此端口时,它只是停留了几分钟,然后超时。这可能是防火墙问题。如果您有访问权限,请打开端口587和465进行出站连接。如果您看到我的问题。我确实有这个,是的,但我搜索了很多,几乎都试过了。这就是为什么我来这里问你在帖子中解释的特定于应用程序的密码?(直接链接:)