使用gmail smtp发送电子邮件 - 无法连接远程服务器

时间:2016-06-23 09:11:31

标签: c# email smtpclient

我尝试在C#中使用Windows应用程序发送邮件。我得到的代码如下,并尝试但它无法正常工作

它出现以下错误:

  

无法连接删除服务器

代码:

MailAddress sendd = new  MailAddress("xxxxxx@gmail.com","Sethu",Encoding.UTF8);
MailAddress receivee = new MailAddress("xxxxxx@yahoo.com");
MailMessage mail = new MailMessage(sendd, receivee);
SmtpClient client = new SmtpClient();
client.Port = 587;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("xxxxxx@gmail.com", "yyyyyyy");
mail.Subject = "this is a test email.";
mail.Body = "this is my test email body";
client.Send(mail);

任何人都有助于找出我做了什么错误?

2 个答案:

答案 0 :(得分:0)

您可以尝试将代码设置为以下内容

 var smptClient = new SmtpClient("smtp.gmail.com", 587)
 {
     Credentials = new NetworkCredential("smit123@gmail.com", "123456789"),
     EnableSsl = true
 };
  smptClient.Send("smit123@gmail.com", "test@gmail.com", "Testing Email", "testing the email");

此代码已在网络上使用我自己的帐户正确测试..

答案 1 :(得分:0)

以下代码适用于我

var client = new SmtpClient("smtp.gmail.com", 587)
{
    Credentials = new NetworkCredential("xxxxxx@gmail.com", "yyyyyyy"),
    EnableSsl = true
};
client.Send("myusername@gmail.com", "myusername@gmail.com", "this is a test email.", "this is my test email body");

与你的几乎完全相同,区别在于它没有使用MailMessage对象。这可能不是问题,但你可以尝试一下。

我还会检查您的服务器上是否启用了端口587

您还应该通过this topic找到许多有用的提示