我在http://SomeDomain.com
上有一个网站。当我从任何计算机访问该域时,我可以访问该网站。如果我然后去相同的域,但从托管该网站的服务器,我将无法访问该网站。看起来好像防火墙不会启用连接。
我知道我可以从该服务器内转到http://localhost
以访问该网站。
无论如何问题是我无法从该服务器发送电子邮件我有以下代码来发送电子邮件:
public static void SendEmail(string toEmailAddress, string subject, string body)
{
var fromAddress = new MailAddress("sales@domainName.com", "domainName");
var toAddress = new MailAddress(toEmailAddress);
string fromPassword = "MY_PASSWORD";
var smtp = new SmtpClient
{
Host = "mail.toglcloud.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential("v040\\sales.domainName", fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };
smtp.Send(message);
}
}
当我从任何计算机上运行该代码时(我已经尝试了5种不同的代码)它可以工作!但是,如果我在服务器(计算机托管网站和包含邮件服务器)上运行该确切的代码,它将无法正常工作。我得到以下异常:
System.Net.Mail.SmtpException:发送邮件失败。 ---> System.Net.WebException:无法连接到远程服务器---> System.Net.Sockets.SocketException:连接尝试失败 因为关联方在一段时间后没有正确回应 时间或已建立的连接因连接的主机而失败 未能回应206.155.112.15:587 at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress(socketAddress)at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, 插座s4,插座s6,插座& socket,IPAddress&地址, ConnectSocketState状态,IAsyncResult asyncResult,Int32超时, 异常和放大器;例外)---内部异常堆栈跟踪结束---
我认为这与我找不到端点的原因相同http://SomeDomain.com
答案 0 :(得分:4)
您是否检查过您的主机文件? https://en.wikipedia.org/wiki/Hosts_(file)
答案 1 :(得分:0)
其他5台计算机与服务器之间的区别: 1.您以哪个用户身份登录?什么是用户的权限。 2.防火墙权限(自邮件服务器完全无法访问以来的最大机会) 3.对于网站 - 它是IE权限(通常在服务器上这可能是一个问题)
答案 2 :(得分:0)