我试图通过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,尽管已在代码中设置。
我不得不承认自己被难倒了。提前感谢您提供任何帮助。