1

我最近购买了一台新电脑,现在我的电子邮件永远不会发送,也永远不会抛出任何异常或任何东西。

有人可以提供一些使用 SmtpClient 类的示例吗?任何帮助都将不胜感激。

谢谢

更新


好的 - 我现在添加了凭据。并且可以成功同步发送电子邮件。但我仍然不能异步发送它们。

旧:尝试同步发送电子邮件后,我收到以下异常:

交易失败。服务器响应是:

5.7.1 <myfriend@hotmails.com>:中继访问被拒绝。

4

2 回答 2

1

您可以通过 Async() 发送邮件。您应该如何遵循以下代码,

smtpClient.SendCompleted += new SendCompletedEventHandler(smtpClient_SendCompleted);
smtpClient.SendAsync(mailMessage, mailMessage);

而且,如果您使用的是异步,您还需要有事件处理程序,例如,

static void smtpClient_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
    {
        //to be implemented        
    }

通过使用它,您可以发送邮件。

于 2013-03-11T11:52:46.233 回答
0

您可以先尝试同步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语句中。

于 2010-05-24T08:06:36.553 回答