繁体   English   中英

使用gmail通过C#发送电子邮件

[英]Sending email through C# using gmail

我正在尝试通过smtp.gmail.com在C#应用程序中发送电子邮件。 我的代码在上周之前运行良好,突然我收到一条错误消息。 我在Gmail帐户中允许安全性较低的应用程序,启用了IMAP,没有任何更改。

第一次验证正常,我得到“端口打开”。

这是代码:

    using (TcpClient tcpClient = new TcpClient())
    {
        try
        {
            tcpClient.Connect("smtp.gmail.com", 587);
            MessageBox.Show("Port open");
        }
        catch (Exception)
        {
            MessageBox.Show("Port closed");
        }
    }

    SmtpClient smtp = new SmtpClient
    {
        Host = "smtp.gmail.com",
        Port = 587,
        EnableSsl = true,
        UseDefaultCredentials = false,
        DeliveryMethod = SmtpDeliveryMethod.Network,
        Credentials = new System.Net.NetworkCredential("myaddress@gmail.com", "mypassword")
    };

    using (var message = new MailMessage("myaddress@gmail.com", "toadress@gmail.com")
    {
        Subject = "Test",
        Body = "Hi"
    })
    {
        smtp.Send(message);
    }

}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

我得到错误:

“服务不可用,正在关闭传输通道。
服务器响应为:无法连接到SMTP服务器2a00:1450:400c:c01 :: 6c(2a00:1450:400c:c01 :: 6c:587),连接错误10061“}

谢谢你的帮助

我认为您需要检查操作系统防火墙的权限。 似乎您无法收听587端口。

您可以发送netstat -a输出吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM