Oto kod w kontrolerze:wysyłając e-mail od Google nie działa na serwerze produkcyjnym, ale działa ok z localhost
[HttpPost, ValidateInput(true)]
public ActionResult Contact(ContactForm model)
{
if (!ModelState.IsValid)
{
return Json("error");
}
else
{
WebMail.SmtpServer = "smtp.gmail.com";
WebMail.UserName = //email here
WebMail.Password = //password here
WebMail.EnableSsl = true;
string message = model.Name + " " + model.Telephone + " " + model.Email + " " + model.Address + " " + model.City + " " + model.ZipCode;
try
{
WebMail.Send("[email protected]", "philaslim.com/info email", message, model.Email);
return Json("thanks");
}
catch (Exception ex)
{
return Json(ex.Message.ToString());
}
}
Jak powiedziałem, że nie tylko na serwerze produkcyjnym. Zwracany komunikat wyjątku to "Failure sending mail.". Jakieś pomysły?
EDIT: InnerException:
System.Net.WebException: Nie można połączyć się z serwerem zdalnym ---> System.Net.Sockets.SocketException: Próba połączenia nie powiodła się, ponieważ połączona strona nie odpowiedziała poprawnie po pewien okres czasu lub nawiązane połączenie nie powiodło się, ponieważ podłączony host nie odpowiedział 74.125.53.108:25 w System.Net.Sockets.Socket.DoConnect (EndPoint endPointSnapshot, SocketAddress socketAddress) w System.Net.ServicePoint.ConnectSocketInternal (Boolean connectFailure, Gniazdo gniazdo S4, Gniazdo S6, Gniazdo &, adres IP Adres IP: adres IP, adres IP, IP, IAsyncResult asyncResult, limit czasu Int32, wyjątek wyjątek &) Koniec wewnętrznego e ślad stosu xception --- w System.Net.ServicePoint.GetConnection (PooledStream PooledStream, właściciel obiektu, asynchronizacja logiczna, adres IP & adres, gniazdo & abortSocket6, gniazdo Int32 timeout) w System.Net.PooledStream.Activate (Object owningObject , Asynchronizacja logiczna, limit czasu Int32, GeneralAsyncDelegate asyncCallback) w System.Net.PooledStream.Activate (Object owningObject, GeneralAsyncDelegate asyncCallback) w System.Net.ConnectionPool.GetConnection (Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout) w System.Net.Mail. SmtpConnection.GetConnection (ServicePoint servicePoint) w System.Net.Mail.SmtpTransport.GetConnection (ServicePoint servicePoint) w System.Net.Mail.SmtpClient.GetConnection() at System.Net.Mail.SmtpClient.Send (wiadomość MailMessage)
Czy jest coś w wyjątku InnerException? – Lester
zobacz edycję proszę –
Czy twój serwer produkcyjny wymaga proxy do uzyskania dostępu do Internetu? – hawkke