c# - ASP.NET C# - 从 Outlook Live SMTP 服务器发送电子邮件

标签 c# asp.net email outlook

我正在努力尝试从 .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/

相关文章:

c# - MonoTouch NSClassFromString

c# - 在 ClosedXML 中,是否有从列标题名称中获取列字母的方法?

c# - 如何异步调用我的 WCF 服务?

python - 在 1&1 上通过 Python/django 发送电子邮件

php - 通过电子邮件回复主题

c# - 'XmlDocument.CreateElement();' 只创建一个元素吗?

asp.net - 源代码管理中的 .vs\config\applicationhost.config

asp.net - 如何从 web.config 读取系统值并在 ASP.NET MVC C# 方法中使用

c# - 缓慢迁移公共(public)网站

email - Paypal 沙箱帐户电子邮件确认