0

我有这个烦人的问题:

  1. 在VS中调试时发送电子邮件时,它工作正常(我正在使用SmtpClient

  2. 发布到服务器后,我收到此错误:

    System.Net.Mail.SmtpException:发送邮件失败。---> System.Net.WebException:无法解析远程名称:'mail.company.co.za'

  3. 但是,如果我将 smtp 主机更改为 IP 地址,它似乎工作正常。

我通过调用ping mail.company.co.zaCMD 获得了 IP(在服务器上调用它时找不到地址,但它可以 ping IP

由于我不确定 IP 是否是静态的,所以我不知道仅使用物理 IP 是否安全。为什么服务器无法识别mail.company.co.za

请注意,我正在同一网络上调试和托管应用程序。这向我表明这不是防火墙问题,但也许我错了?

4

1 回答 1

1

听起来您的代码工作正常,但您的邮件服务器的 DNS 设置不正确。您的 PC 可以正确查找地址,但邮件服务器不能。

解决这个问题是服务器管理问题,而不是编码问题,但如果您没有 IT 人员为您解决问题,我建议您在网络设置中找到“DNS 服务器”设置,然后将设置从您的 PC 复制到服务器。Windows 倾向于改变每个版本的这些设置,但对我来说,它是控制面板/网络和共享/以太网/TCPIP/属性

https://www.windowscentral.com/how-change-your-pcs-dns-settings-windows-10

  • 打开控制面板。
  • 单击网络和 Internet。
  • 单击网络和共享中心。
  • 在左侧窗格中,单击更改适配器设置。
  • 右键单击连接到 Internet 的网络接口,然后选择属性。
  • 从列表中选择 Internet 协议版本 4 (TCP/IPv4)。
  • 单击属性按钮。
  • 单击使用以下 DNS 服务器地址选项。
于 2018-10-19T11:19:51.423 回答