我有一個網站http://SomeDomain.com
。當我從任何計算機訪問該域時,我都可以訪問該網站。如果我然後轉到同一個域,但從託管該網站的服務器,我將無法訪問該網站。看起來好像防火牆不會啓用連接。無法從同一服務器訪問網站
我知道我可以從該服務器中訪問http://localhost
以訪問該網站。
不管怎麼說的問題是,我無法從服務器我有以下代碼發送電子郵件發送電子郵件:當我從任何一臺計算機上運行代碼
public static void SendEmail(string toEmailAddress, string subject, string body)
{
var fromAddress = new MailAddress("[email protected]", "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在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, 套接字s4,套接字s6,套接字&套接字,IP地址&地址, ConnectSocketState狀態,IAsyncResult asyncResult,Int32超時, 異常&除外)內部異常堆棧跟蹤的 - 完 -
我認爲這與同樣的原因,爲什麼我找不到終點http://SomeDomain.com
Mayby在任何配置文件(我猜電子郵件程序服務器的配置)一行表示允許/阻止本地地址。 Mayby如果你改變它將修復... – Mathlight
此外,mayby [這個答案](http://stackoverflow.com/a/15181177/1846175)將幫助 – Mathlight
我創建了一個控制檯應用程序,而不是網站,我得到同樣的例外。一旦我使它在控制檯應用程序上工作,我會將該代碼放在網站上。 –