Member 12768963 Ответов: 1

Ретрансляция сообщений через ASP.NET


Мне нужно отправить письмо через мой сервер веб хостинга тот же код был написан для хостинга через gmail и он работал но когда я изменил информацию в соответствии с моим сервером веб хостинга он больше не работал с ошибкой:
System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 208.118.63.202:25 at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception) --- End of inner exception stack trace --- at System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6) at System.Net.PooledStream.Activate(Object owningObject, Boolean async, GeneralAsyncDelegate asyncCallback) at System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate asyncCallback) at System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout) at System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint) at System.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint) at System.Net.Mail.SmtpClient.GetConnection() at System.Net.Mail.SmtpClient.Send(MailMessage message) --- End of inner exception stack trace --- at System.Net.Mail.SmtpClient.Send(MailMessage message) at Default.Button1_Click(Object sender, EventArgs e) in c:\Visual Studio 2015\WebSites\...\Default.aspx.cs:line 241


и я уже пинговал smtp-хост моего веб-хостинга, и это сработало..
Я пробую этот код на своем локальном хостинге, прежде чем загрузить его на сервер веб-хостинга, и он не работает на локальном хостинге..

Что я уже пробовал:

этот код работал для gmail но не для моего сервера веб хостинга:
    MailMessage mail = new MailMessage();

    SmtpClient SmtpServer = new SmtpClient("smtp host");



    mail.To.Add(email address created on the webhosting server);

    SmtpServer.Port = 25;

    SmtpServer.UseDefaultCredentials = false;
    SmtpServer.Credentials = new System.Net.NetworkCredential("email on web hosting server", "pass");



    mail.From = new MailAddress(TextBox3.Text);
   SmtpServer.EnableSsl = true;


    mail.Subject = "subject";
    mail.Body = "body";


    SmtpServer.Send(mail);



    string script = "alert(\"Email wurde gesendet!\");";
    ScriptManager.RegisterStartupScript(this, GetType(),
                          "ServerControlScript", script, true);

}

catch (Exception ex)
{
    Response.Write(ex.ToString());
  //  string script = "alert(\"Email wurde nicht gesendet!\");";
   // ScriptManager.RegisterStartupScript(this, GetType(), "ServerControlScript", script, true);


}

NotPolitcallyCorrect

Похоже, вы ошибочно приняли нас за сотрудников службы поддержки вашего хостинг-провайдера. Вероятно, он не работает для вас локально, потому что, скорее всего, у вас не работает почтовый сервер.

Member 12768963

так почему же он работал для gmail, но не для сервера веб-хостинга? даже несмотря на то, что у меня не работает почтовый сервер..

NotPolitcallyCorrect

Потому что вы можете подключиться к gmail. Хостеры обычно не выставляют свой сервер публично, чтобы никто и все не могли использовать их серверы.

Member 12768963

ладно, мне очень жаль, что я не знал, что должен спросить свою горячую компанию, я думал, что это ошибка программирования ... во всяком случае, я спросил их, и они дали мне информацию. спасибо.

1 Ответов

Рейтинг:
7

David_Wimbley

Мы не являемся вашей хостинговой компанией, поэтому никто не может помочь вам, кроме вашей хостинговой компании. Что касается Вашего сообщения об ошибке, то совершенно ясно, в чем заключается ваша проблема:

Цитата:
Системы.Нет.Почте.SmtpException: сбой при отправке электронной почты. ---&ГТ; система.Нет.Webexception: не удается подключиться к удаленному серверу ---&ГТ; система.Нет.Розетки.SocketException: попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через определенный промежуток времени, или установленное соединение не удалось, потому что подключенный хост не ответил 208.118.63.202:25 в


Не удается подключиться к удаленному серверу, у вас либо неверный IP-адрес, либо неверный номер порта для подключения к серверу хостинговой компании.

Я не могу сказать вам, почему это сработало для gmail, а не для вашей хостинговой компании, потому что я не работаю ни на вашу хостинговую компанию, ни на google. Скорее всего, у вас было правильное имя хоста и номер порта для google...и поэтому он работал для gmail.

Проверьте номер своего порта, убедитесь, что вы не должны использовать что-то вроде 993, 465, 587 или 2525 вместо порта по умолчанию 25. Некоторые хостинговые компании меняют порт по умолчанию...все зависит от того, кто у вас есть.