Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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# 通过SmtpClient发送电子邮件时超时_C#_Email_Smtpclient - Fatal编程技术网

C# 通过SmtpClient发送电子邮件时超时

C# 通过SmtpClient发送电子邮件时超时,c#,email,smtpclient,C#,Email,Smtpclient,我试图通过SmtpClient类发送一封非常简单的电子邮件。我已经看了好几个小时了,我一直在遵循StackOverflow和MSDN的例子,但出于某种原因,我得到的只是超时 我已经更改了主机名和密码,但是我添加了下面的代码 static void Main(string[] args) { Int32 port = 465; String host = "host.co.uk"; MailAddress from = new MailAddress("test@emai

我试图通过SmtpClient类发送一封非常简单的电子邮件。我已经看了好几个小时了,我一直在遵循StackOverflow和MSDN的例子,但出于某种原因,我得到的只是超时

我已经更改了主机名和密码,但是我添加了下面的代码

static void Main(string[] args)
{
    Int32 port = 465;
    String host = "host.co.uk";

    MailAddress from = new MailAddress("test@email.co.uk");
    MailAddress to = new MailAddress("paul@email.co.uk");

    MailMessage msg = new MailMessage(from, to);

    msg.Body = "Test Body";
    msg.Subject = "Test Subject";

    SmtpClient client = new SmtpClient();
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.Host = host;
    client.Port = port;
    client.Credentials = new System.Net.NetworkCredential("test@email.co.uk", "password");
    client.UseDefaultCredentials = false;

    client.Send(msg);
}
如您所见,这是一个控制台应用程序,它尝试发送电子邮件,然后退出。我把它从主项目中去掉,这样我就可以消除任何其他可能的原因(除了实际的电子邮件代码)

它抛出一个值为的
System.Net.Mail.SmtpException

The operation has timed out.
我认为导致问题的原因是凭据,因为如果查看“client”中的值,它会将credentials属性显示为null,尽管在代码中进行了设置


我不得不承认我被难倒了。提前感谢您提供的任何帮助。

谁是您真正的电子邮件提供商?它是内部托管服务器吗?谷歌?美国在线?基于此,您可能需要执行其他步骤才能建立到smtp服务器的连接。请注释掉将UseDefaultCredentials设置为False的行。有时您的internet服务提供商会阻止电子邮件端口。不确定这里是否是这种情况,但如果您还没有,我会尝试几个不同的端口。您是说hosts.co.uk吗?大多数情况下,主机的编写方式类似于smtp.host.co.uk。您尝试过端口587吗?请注意端口465是SSL。