【发布时间】:2011-07-24 00:58:13
【问题描述】:
我正在尝试使用 hotmail 帐户设置电子邮件发送应用程序。
代码如下所示:
MailMessage mail = new MailMessage(from, to);
mail.Subject = "Proba email";
mail.Attachments.Add(new Attachment("C:\\Documents and Settings\\Proba.txt"));
SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = false;
client.Port = 587; // 465 568
client.Host = "smtp.live.com";
client.EnableSsl = true;
client.Credentials = new System.Net.NetworkCredential("smg@hotmail.com", "password");
client.SendCompleted += new SendCompletedEventHandler(client_SendCompleted);
client.SendAsync(mail, "token");
使用异步我实际上没有收到任何错误,我什至收到反馈说消息已发送(事件触发器)但消息从未到达。如果我使用简单的 client.Send void,我会收到以下错误:
5.3.4 未采取请求的行动;要继续发送消息,请登录您的帐户。
那么关于问题可能是什么的任何想法?当我试图传递 hotmail 的 SMTP 设置时,我得到了各种设置,说端口 25,然后是 587,所以也许它在那里。任何帮助将不胜感激!
- 好的,现在它肯定可以工作了,我想问一下我是否需要定期进行“我不是机器人检查”还是一次性的?
【问题讨论】:
-
我重新登录了我的帐户,它要求检查垃圾邮件,看看我是否是机器人。现在消息通过并实际到达,但我需要经常这样做还是一次性的?
-
如果一个帐户对机器人进行检查,那么可能不允许使用机器人?你正在编写一个机器人。
-
我认为垃圾邮件问题之前已经被问过,您无能为力。收件人的地址簿中必须包含您的发件人地址,以确保递送到收件箱。
-
在异步模式下不会收到错误消息
-
所以我看到异步不能出错。如果机器人用于发送垃圾邮件,则不允许使用。你可以想象,我写的不是垃圾邮件机器人,而是一个简单的电子邮件客户端。因此,登录帐户几乎可以“解决”问题。