2013-10-27 2 views
1

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

Когда я использую стандартный код для почты ua, включая порт 25, он, кажется, доставляет письмо, однако, для некоторого пользователя, чей интернет-провайдер блокирует порт 25 электронной почты, не проходит. Я хотел бы иметь надежный способ определить, не удалось ли порт 25 не доставлять электронную почту мгновенно, а затем попытаться использовать другой порт для отправки электронной почты. Другими словами, я бы хотел использовать два порта, если порт X не работает, а затем автоматически переключается на порт Y. Doable?

Btw, язык скриптинга на стороне сервера, который я использую, является родным братом Adobe ColdFusion, Railo, а конкретным тегом является CFMAIL. Как упоминалось выше, обертывание CFTRY вокруг CFMAIL не помогает для этой цели.

Спасибо.

ответ

0

Существует множество факторов при определении того, доставлено ли ваше сообщение.

1) Когда вы отправляете свое сообщение с CFMAIL, вы можете указать почтовый сервер в теге cfmail или использовать сервер по умолчанию. Когда тег будет выполнен, coldfusion/railo попытается получить доступ к этому серверу. Если сервер недоступен или заблокирован, ваше сообщение будет отправлено в папку с неуправляемым товаром coldfusion/railo. Единственный способ проверить это - написать скрипт для отслеживания папки и ее содержимого.

2) ЕСЛИ coldfusion/railo успешно подключается к SMTP-серверу и пытается передать сообщение электронной почты, ваши уведомления будут поступать с сервера SMTP, а не с coldfusion/railo. Сообщение будет отправлено с SMTP-сервера на путь failto="" или from="", если не указано. Это электронное письмо будет извещено о том, что «почтовый ящик не существует», «реле не разрешено», «пользователь превысил лимит почтового ящика» и т. Д.

Если вам нужно отслеживать эти отказы, вы можете создать отдельный адрес электронной почты учитывайте failto = "" и используйте CFPOP для мониторинга учетной записи электронной почты для отказов.

Кроме того, если вы используете такую ​​компанию, как sendgrid для вашего исходящего SMTP-сервера, они будут предоставлять API для отслеживания отказов, отказов, спама и т. Д.

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