Ошибка при отправке электронной почты
Я создал простое приложение по адресу: http://graficaromana.com.br/
В контактной форме ( http://graficaromana.com.br/Contato) при попытке отправить письмо я получаю сообщение об ошибке. Локально почта отправляется нормально, без ошибок.
Есть ли какие-то настройки, которые я должен сделать на хосте? в домене?
Ошибка:
System.Net.Sockets.SocketException Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через определенный промежуток времени, или не удалось установить соединение, так как подключенный хост не ответил 209.85.225.108:25
Смотрите код для более подробной информации в ссылке: https://gist.github.com/1149028
1 ответ
Похоже, что удаленный хост имеет отдельный сервер, который они используют для отправки почты, или что вы должны быть в белом списке вместе с хостом для отправки почты, и может потребоваться имя пользователя и пароль. Я не смотрел на ваш код, но я вижу такие ошибки, когда включен брандмауэр, и машина, пытающаяся отправить, не имеет доступа через брандмауэр, так как брандмауэр не отвечает вообще, вы получаете ответ типа "Сервер сделал не отвечать своевременно "или" сервер не ответил через определенное время ", я предполагаю, что перед тем, как вы разместили здесь, вы спросили хостинг-провайдера об отправке почты, и каковы предпочтения относительно того, как это следует делать осуществляться? право?
если да, пожалуйста, предоставьте информацию о том, что они сказали
Вот пример кода для отправки электронной почты:
var smtpClient = new SmtpClient();
var message = new MailMessage();
smtpClient.port = 25;
message.from = "test@test.com";
message.To.Add("me@workemail.com,client@office.com";
message.Subject = "Contact from website";
message.IsBodyHtml = true;
message.Body = "<html><head></head><body>TEST</body></html>"
try {
smtpClient.Host = "relay.server.you.have.from.host";
smtpClient.Send(message);
} catch( Exception ) {
// host is down or we are local try other servers
// here you can have more try / catch
smtpClient.Host = "127.0.0.1"
smtpClient.Send(message);
}