SmtpClient.Send Exception - PullRequest
       8

SmtpClient.Send Exception

1 голос
/ 06 марта 2011

Мой сайт отправляет письма с подтверждением покупки. 95% времени это работает. Остальные 5% после нажатия кнопки «Подтвердить», которая выполняет платеж и должна отправить электронное письмо, я получаю следующее исключение:

Детали:

Исключение: ошибка при отправке почты.

Внутреннее исключение: невозможно подключиться к удаленный сервер
Внутреннее исключение (2): попытка подключения не удалась потому что подключенная сторона не правильно ответить после периода время или не удалось установить соединение потому что подключенный хост не смог ответить 72.167.234.197:25

Код для отправки электронного письма:

Dim smtpClientPayPalSuccess As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient()
smtpClientPayPalSuccess.Host = "relay-hosting.secureserver.net"
smtpClientPayPalSuccess.Send(mailMessagePayPalSuccess)

К вашему сведению: на хостинге я подтвердил, что мне не нужны никакие учетные данные или номер порта, отличный от 25. Это также работает через https.

Любая идея, почему это будет происходить только небольшой процент времени?

Спасибо.

Dave

Ответы [ 2 ]

1 голос
/ 06 марта 2011

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

Я бы посоветовал вам отправлять почту асинхронно, а не как часть процесса кнопки «Подтвердить».Просто поместите почту в (постоянное) хранилище и продолжайте пытаться отправить его с некоторым промежутком времени между ними.

В качестве альтернативы (и от всей души рекомендуется) отправлять почту из вашего приложения на локальный почтовый серверэтот почтовый сервер пересылает почту на 72.167.234.197:25.Таким образом, вы получаете повторные попытки бесплатно, и вероятность того, что отправка почты на localhost не удастся, довольно мала (или должна быть небольшой).

0 голосов
/ 06 марта 2011

Возможно и вполне вероятно, исходя из вашей экспозиции, что существуют реальные сетевые ошибки, которые мешают вашему сайту подключаться / взаимодействовать с SMTP-сервером.Это может быть результатом слишком большого трафика или медленных сетевых подключений.Моя рекомендация будет заключаться в том, чтобы попытаться поймать код электронной почты и, возможно, повторить попытку отправки электронной почты несколько раз, прежде чем сдаться.

Когда вы упоминаете, что это работает в 95% случаев, это показывает, что проблема, скорее всего, находится вне вашего контроля.

В качестве дополнительного примечания, возможно, вам следует подумать не отказываться отфактический IP-адрес вашего SMTP-сервера (это не имеет значения для вопроса)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...