【问题标题】:Can't send email using SMTP无法使用 SMTP 发送电子邮件
【发布时间】:2017-02-15 08:33:24
【问题描述】:

我正在尝试通过 .net smtp 发送电子邮件。我收到这条消息: SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.1 客户端未通过身份验证

MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("server", 587);
SmtpServer.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
SmtpServer.UseDefaultCredentials = false;
SmtpServer.EnableSsl = false;
SmtpServer.Credentials = new   System.Net.NetworkCredential("username", "password");

mail.From = new MailAddress(FromMail);
mail.To.Add("emailaddress");
mail.Bcc.Add("emailaddress");
mail.Subject = subject;
mail.Body = body;
mail.IsBodyHtml = true;
SmtpServer.Send(mail);

我认为问题是服务器位于 DMZ 中...任何人都知道如何解决这个问题?如果我们为用户分配域管理员权限,则电子邮件可以工作...出于安全原因,我们不想走那条路。

【问题讨论】:

  • EnableSsl = true - 错误表明您需要安全连接是吗?
  • 不一定,如果我将其设置为 false 并赋予我的网络凭据“域管理员”权限,则电子邮件通过 OK
  • 可能是重复的stackoverflow.com/questions/20092414/… 另外,这听起来不像是代码问题,而更像是 smtp 服务器上的权限问题,然后是 @scrus24
  • "If we assign the user with domain admin rights, the emails work" 表示这是一个权限错误。您需要检查您尝试发送电子邮件的用户帐户设置。我不确定我们能为您做些什么,因为我们不(也不能)知道您的 SMTP 或域用户和权限设置是如何设置的。
  • @user1666620 我们也不能发送匿名电子邮件(即使该框已选中)...这是否也相关?

标签: c# .net smtp smtpclient dmz


【解决方案1】:

问题已解决...网络团队没有可用的 587 端口...添加后,电子邮件开始为匿名发件人工作。我不再需要使用凭据。感谢所有回复的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2022-07-20
    • 2021-07-06
    • 2019-01-23
    • 2020-03-02
    • 1970-01-01
    相关资源
    最近更新 更多