通过SmtpClient

时间:2017-03-21 18:37:05

标签: c# email smtpclient

我试图通过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.

我认为造成问题的原因是凭据,因为如果您查看'客户端'它将Credentials属性显示为null,尽管已在代码中设置。

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

0 个答案:

没有答案