2016-07-25 11 views
0

СЦЕНАРИЙ 1: Отправка почты, отправив форму по электронной почте на сайте с помощью соответствующего хоста (телнет отлично работает на порту 25) отлично работает в нашей локальной системе (где код абсолютно такой же) столько раз, сколько мы отправляем (независимо от промежутка времени между последовательными представлениями). И мы возвращаем ответ в указанном адресе электронной почты при отправке формы.System.Net.Mail.SmtpException: Ошибка отправки почты - SMTP вопрос

СЦЕНАРИЙ 2: Но когда мы подчиняемся форму на сервере, он отправляет почту успешно 1й раз, и мы получаем ответ обратно на почтовый адрес, используемый. Когда мы пытаемся отправить форму 2-го раза, она терпит неудачу, если она опробована до промежутка в 2 минуты 30 секунд (который проверен, но не уверен, где он настроен), и это успешно, если мы попробуем отправить форму через 2 минуты 30 сек.

На сервере, это журнал мы получаем:

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 <SMTP server IP>: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.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate 
asyncCallback, Int32 creationTimeout) 
at System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint) 
at System.Net.Mail.SmtpClient.Send(MailMessage message) 
--- End of inner exception stack trace --- 

Может ли один пожалуйста, объясните, где он может пойти не так?

Большое спасибо!

ответ

0

Хорошо, вот и вот улов: Мои экземпляры размещены в AWS и Amazon Elastic Compute Cloud (Amazon EC2) дросселируют почтовый трафик через порт 25 по умолчанию.

Чтобы избежать перерывов при отправке электронной почты через конечную точку SMTP из EC2, используйте другой порт (587 или 2587). ИЛИ иначе нам нужно заполнить запрос на Amazon, чтобы удалить ограничения отправки электронной почты, чтобы удалить дроссель.

Дополнительная информация: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-connect.html

Смежные вопросы