我最近购买了一台新电脑,现在我的电子邮件永远不会发送,也永远不会抛出任何异常或任何东西。
有人可以提供一些使用 SmtpClient 类的示例吗?任何帮助都将不胜感激。
谢谢
更新
好的 - 我现在添加了凭据。并且可以成功同步发送电子邮件。但我仍然不能异步发送它们。
旧:尝试同步发送电子邮件后,我收到以下异常:
交易失败。服务器响应是:
5.7.1
<myfriend@hotmails.com>
:中继访问被拒绝。
您可以通过 Async() 发送邮件。您应该如何遵循以下代码,
smtpClient.SendCompleted += new SendCompletedEventHandler(smtpClient_SendCompleted);
smtpClient.SendAsync(mailMessage, mailMessage);
而且,如果您使用的是异步,您还需要有事件处理程序,例如,
static void smtpClient_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
//to be implemented
}
通过使用它,您可以发送邮件。
您可以先尝试同步Send方法,以验证 SMTP 服务器的所有设置是否正确,并且您没有遇到任何异常:
var client = new SmtpClient("smtp.somehost.com");
var message = new MailMessage();
message.From = new MailAddress("from@somehost.com");
message.To.Add(new MailAddress("to@somehost.com"));
message.Subject = "test";
message.Body = "test body";
client.Send(message);
备注:在 .NET 4 SmtpClient中实现了IDisposable,因此请确保将其包装在using语句中。