C#无法从G Suite公司帐户发送电子邮件

时间:2019-06-24 17:44:28

标签: c# .net gsuite

这是我发送电子邮件的方式:

        MailMessage m = new MailMessage();
        m.From = new MailAddress("support@big-apps.org", "Big Apps.");
        m.To.Add(new MailAddress("faizan003@gmail.com"));
        m.Subject = "Test Subject";
        m.Body = String.Format("This is Test email");

        SmtpClient smtp = new SmtpClient();
        smtp.Host = "smtp.gmail.com";
        smtp.Port = 465;
        smtp.EnableSsl = true;
        smtp.Credentials = new System.Net.NetworkCredential()
        {
            UserName = "support@big-apps.org",
            Password = "mypassword"
        };
        smtp.EnableSsl = true;
        smtp.Send(m);

我需要在G Suite管理员中启用任何设置吗? 我需要从 support@big-apps.org

发送电子邮件

enter image description here

1 个答案:

答案 0 :(得分:2)

端口465是问题。 SmtpClient EnableSsl选项实际上正在使用TLS。 Gmail的TLS端口为587。

摘自Microsoft文档:

https://docs.microsoft.com/en-us/dotnet/api/system.net.mail.smtpclient.enablessl?view=netframework-4.8

  

SmtpClient类仅支持RFC 3207中定义的用于通过传输层安全的安全SMTP的SMTP服务扩展。在此模式下,SMTP会话在未加密的通道上开始,然后客户端向服务器发出STARTTLS命令切换到使用SSL的安全通信。有关更多信息,请参阅Internet工程任务组(IETF)发布的RFC 3207。

     

另一种连接方法是在发送任何协议命令之前先建立SSL会话。这种连接方法有时称为SMTP / SSL,基于SSL的SMTP或SMTPS,默认情况下使用端口465。当前不支持使用SSL的替代连接方法。