【问题标题】:Can't send mail from C# app无法从 C# 应用程序发送邮件
【发布时间】:2015-05-09 11:21:14
【问题描述】:

我正在尝试从我正在开发的应用程序发送邮件,但总是收到相同的异常消息:“附加信息:邮箱不可用。服务器响应为:5.7.3 请求的操作已中止;用户未通过身份验证”。

这是我的代码:

SmtpClient appClient = new SmtpClient("smtp-mail.outlook.com");
                appClient.Port = 587;
                appClient.DeliveryMethod = SmtpDeliveryMethod.Network;
                appClient.UseDefaultCredentials = false;
                System.Net.NetworkCredential Credentials = 
                    new System.Net.NetworkCredential(Properties.Settings.Default.systemMail, 
                        Properties.Settings.Default.systemMailPass);
                appClient.EnableSsl = true;
                appClient.Credentials = Credentials;

                try
                {
                    var mail = new MailMessage(Properties.Settings.Default.systemMail.Trim(), usrMail.Trim());
                    mail.Subject = "Usuario ha sido creado con éxito";
                    mail.Body = "Se ha creado el usuario " + usrCode + " en el servidor: " + Properties.Settings.Default.serverAdress + " instancia: " + Properties.Settings.Default.serverInstance + ".";
                    appClient.Send(mail);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    throw ex;
                }

【问题讨论】:

  • appClient.Credentials = 凭据;您确定凭据正确吗?
  • 你用的是哪个主机?
  • 嘿凯尔,我正在使用 smtp-mail.outlook.com

标签: c# email send


【解决方案1】:

在设置凭据之前尝试使用UseDefaultCredentials = false

appClient.UseDefaultCredentials = false;    
appClient.Credentials = Credentials;

【讨论】:

  • 非常感谢!您使用 Credentials 命令是对的! =)
猜你喜欢
  • 1970-01-01
  • 2015-03-26
  • 2023-03-30
  • 2016-02-01
  • 1970-01-01
  • 2012-07-06
  • 1970-01-01
  • 2014-10-27
  • 2014-08-11
相关资源
最近更新 更多