我正在努力尝试从 .NET 应用程序发送电子邮件。
{"Mailbox unavailable. The server response was: 5.7.3 Requested action aborted; user not authenticated"} System.Exception {System.Net.Mail.SmtpException}
现在这似乎表明(至少从我有限的理解来看)我的凭据有问题,即我的电子邮件地址和密码。
问题来了。我使用 Yahoo 电子邮件地址登录我的 Microsoft 帐户。这是我作为凭证的一部分提供的地址。如果这不正确,我在哪里可以找到合适的电子邮件地址,或者我可能还缺少什么?
try
{
SmtpClient smtpClient = new SmtpClient("smtp-mail.outlook.com", 587);
smtpClient.EnableSsl = true;
smtpClient.Credentials = new System.Net.NetworkCredential("kelly*******@yahoo.com", "myMicrosoftPassword");
smtpClient.UseDefaultCredentials = true;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
MailMessage mail = new MailMessage();
//Setting From , To and CC
mail.From = new MailAddress("kelly*******@yahoo.com", "Kelly");
mail.To.Add(new MailAddress("recipeint@email.com"));
smtpClient.Send(mail);
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
谢谢!
最佳答案
尝试使用它作为骨架来发送邮件: 请注意证书部分。 请注意,某些提供商需要对您的身份验证帐户进行额外配置才能使用他们的服务(例如:Google)
using( var mail = new System.Net.Mail.MailMessage() )
{
mail.From = new System.Net.Mail.MailAddress( fromAddress );
mail.Subject = subject;
mail.Body = body;
foreach( var attachment in attachments )
mail.Attachments.Add( new Attachment( attachment ) );
foreach( var address in toAddresses )
mail.To.Add( address );
using( var smtp = new System.Net.Mail.SmtpClient( smtpAddress, smtpPort ) )
{
smtp.EnableSsl = enableSsl;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential( authUserName, authPassword );
ServicePointManager.ServerCertificateValidationCallback =
( sender, certificate, chain, sslPolicyErrors ) => true;
smtp.Send( mail );
}
}
关于c# - ASP.NET C# - 从 Outlook Live SMTP 服务器发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38897537/