嘿,伙计们,我正在尝试使用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");
Run Code Online (Sandbox Code Playgroud)
使用,Async我实际上没有错误,我甚至得到反馈说消息发送(事件触发器)但消息永远不会到达.如果我使用简单的client.Send void,我收到以下错误:
5.3.4未采取的请求行动; 要继续发送邮件,请登录您的帐户.
关于问题可能是什么的任何想法?当我试图传递hotmail的SMTP设置时,我得到了各种设置,说端口25,然后587所以也许它就是那里的东西.非常感谢任何帮助!
小智 5
这是我的设置,BTW async不会返回任何错误.
<system.net>
<mailSettings>
<!-- E-mail server settings -->
<smtp from="do-not-reply@example.com">
<network host="smtp.example.com" port="25" userName="" password="" defaultCredentials="true" />
</smtp>
</mailSettings>
Run Code Online (Sandbox Code Playgroud)
void SendEmail(EmailEntity email)
{
var mailMessage = new MailMessage { From = new MailAddress(email.From) };
mailMessage.To.Add(new MailAddress(email.To));
mailMessage.Subject = email.Subject;
mailMessage.Body = email.Body;
mailMessage.IsBodyHtml = true;
// Send the email
var client = new SmtpClient();
client.Send(mailMessage);
}
Run Code Online (Sandbox Code Playgroud)