使用SMTP主机的IP时只能发送电子邮件

时间:2018-10-19 11:13:23

标签: c# email smtp ip

我有这个烦人的问题:

  1. 在VS中进行调试时发送电子邮件时,它工作正常(我正在使用setRootStack
  2. 发布到服务器后,出现此错误:

      

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

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

我通过在CMD中调用SmtpClient来获得IP(在服务器上调用该IP时,它找不到地址,但它可以ping通IP

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

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

1 个答案:

答案 0 :(得分:0)

这听起来像您的代码正常工作,但是您的邮件服务器的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服务器地址”选项。