C# 只能在使用SMTP主机的IP时发送电子邮件
我有一个恼人的问题:C# 只能在使用SMTP主机的IP时发送电子邮件,c#,email,smtp,ip,C#,Email,Smtp,Ip,我有一个恼人的问题: 在VS中调试时发送电子邮件时,它工作正常(我使用的是SmtpClient) 发布到服务器后,我收到以下错误: System.Net.Mail.SmtpException:发送邮件失败。-->System.Net.WebException:无法解析远程名称:“mail.company.co.za” 但是,如果我将smtp主机更改为IP地址,它似乎可以正常工作 我通过在CMD中调用ping mail.company.co.za获得了IP(在服务器上调用时,它找不到地址,但
SmtpClient
)
ping mail.company.co.za
获得了IP(在服务器上调用时,它找不到地址,但它可以ping IP)
由于我不确定IP是否是静态的,我不知道仅仅使用物理IP是否安全。为什么服务器不能识别mail.company.co.za
请注意,我正在同一网络上调试和托管应用程序。这向我表明这不是防火墙问题,但可能我错了?听起来您的代码工作正常,但您的邮件服务器的DNS设置不正确。您的电脑可以正确查找地址,但邮件服务器无法 修复这是一个服务器管理问题,而不是编码问题,但如果您没有IT人员为您执行此操作,我建议您在网络设置中查找“DNS服务器”设置,并将设置从PC复制到服务器。Windows倾向于在每个版本中更改这些设置的方式,但对我来说,它是控制面板/网络和共享/以太网/TCPIP/属性
- 打开控制面板李>
- 点击网络和互联网李>
- 点击网络和共享中心李>
- 在左侧窗格中,单击更改适配器设置李>
- 右键单击连接到internet的网络接口,然后选择属性
- 从列表中选择Internet协议版本4(TCP/IPv4)李>
- 单击属性按钮李>
- 单击使用以下DNS服务器地址选项
mail.company.co.za
由一些服务提供商托管谢谢你的回答。你知道我在我的电脑上哪里可以找到这些DNS服务器吗?@Bassie我添加了一个指向某些说明的链接我的笔记本电脑设置为自动获取,但服务器指向某个本地地址(10.0.0.2和10.0.0.3),我不想更改这些地址,因为这些地址是我们用于一些事情的地址。我得和知道这件事的人核实一下