我使用以下代码从我的Windows应用程序发送电子邮件:
public bool SendEmail(string to, string subject, string body, bool isHtml, List<string> bcc, List<string> cc, string fullname)
{
var from = "myname@myDomain.com";
var name = "MyName";
var toAddress = new MailAddress(to, fullname);
var fromAddress = new MailAddress(from, name);
var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body,
IsBodyHtml = isHtml
};
if (bcc != null && bcc.Any())
foreach (var bccItem in bcc)
message.Bcc.Add(bccItem);
if (cc != null && cc.Any())
foreach (var ccItem in cc)
message.CC.Add(ccItem);
var key = "password";
var domain = "webmail.mydomain.com";
var smtp = new SmtpClient
{
Host = domain,
Port = 587,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(from, key)
};
try
{
smtp.Send(message);
return true;
}
catch (Exception exception)
{
Console.Write(exception);
return false;
}
}
效果很好,但不是 hotmail.com 和 live.com 以及 outlook.com 。当我尝试发送电子邮件到例如someone@hotmail.com时,程序运行良好,但是someone @ hotmail.com没有收到发送的电子邮件,即使在垃圾文件夹中也是如此。问题是什么?我的错是什么?
答案 0 :(得分:0)
所以我要做的是通过outlook.com登录您的hotmail帐户。它很可能会告诉你&#34;验证&#34;那是你的。要解决这个问题,您只需通过手机激活该帐户,如果您从应用程序发送电子邮件,它将不会要求您下次验证。否则,您将不得不登录outlook.com并且&#34;验证&#34;那是你的。可能会一遍又一遍地烦恼。