C# 无法在C中使用Gmail SMTP发送邮件#

C# 无法在C中使用Gmail SMTP发送邮件#,c#,asp.net,smtp,C#,Asp.net,Smtp,我正在尝试配置Gmail SMTP,并尝试使用TSL和SSL,但上面的代码总是引发超时异常我认为您需要将usedefaultcredentials设置为false。否则,将不使用您在网络凭据中设置的用户名/密码。您不希望将SmtpClient的UseDefaultCredentials设置为true,因为它将使用当前登录用户的凭据,如所示 此外,通过web.config配置设置可能更有意义,因为任何更改都不需要重新编译和部署代码。这里回答了类似的问题: 如果选择在代码中保留smtp设置,则应如下

我正在尝试配置Gmail SMTP,并尝试使用TSL和SSL,但上面的代码总是引发超时异常

我认为您需要将usedefaultcredentials设置为false。否则,将不使用您在网络凭据中设置的用户名/密码。

您不希望将SmtpClient的UseDefaultCredentials设置为true,因为它将使用当前登录用户的凭据,如所示

此外,通过web.config配置设置可能更有意义,因为任何更改都不需要重新编译和部署代码。这里回答了类似的问题:

如果选择在代码中保留smtp设置,则应如下所示:

mailMessage.From = new MailAddress(fromEmailAddress);
        mailMessage.Subject = "Test";
        mailMessage.Body = "Manish";
        mailMessage.IsBodyHtml = true;
        mailMessage.To.Add(new MailAddress(toEmailAddress));
        SmtpClient smtp = new SmtpClient("smtp.gmail.com", 465);          
        smtp.EnableSsl = true;
        System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
        NetworkCred.UserName = userNAme;
        NetworkCred.Password = password;
        smtp.UseDefaultCredentials = true;
        smtp.Credentials = NetworkCred;
        smtp.Send(mailMessage);
可能重复的
mailMessage.From = new MailAddress(fromEmailAddress);
mailMessage.Subject = "Test";
mailMessage.Body = "Manish";
mailMessage.IsBodyHtml = true;
mailMessage.To.Add(new MailAddress(toEmailAddress));
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 465);          
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential(userNAme, password);
smtp.Send(mailMessage);