Как определить, была ли электронная почта успешно доставлена мгновенно
Приложение предназначено для установки на компьютер пользователя, следовательно, функция электронной почты из приложения будет очень сильно зависеть от услуги интернет-провайдера пользователя. Порт 25 может быть открытым или заблокированным.
Когда я использую стандартный код для почты ua, включая порт 25, он доставляет почту, однако, для некоторых пользователей, чей интернет-провайдер блокирует порт 25, электронная почта не проходит. Я хотел бы иметь надежный способ определить, если порт 25 не может доставить электронную почту Мгновенно, а затем попытаться использовать другой порт для отправки электронной почты. Другими словами, я хотел бы использовать два порта, если порт X выходит из строя, то автоматически переключаться на порт Y. Выполнимо?
Кстати, язык сценариев на стороне веб-сервера, который я использую, - это родной брат Adobe ColdFusion, Railo, а конкретный тег - CFMAIL. Как упомянуто выше, оборачивание CFTRY вокруг CFMAIL не помогает для этой цели.
Благодарю.
1 ответ
Существует несколько факторов, определяющих, доставлено ли ваше сообщение.
1) Когда вы отправляете свое сообщение с помощью CFMAIL, вы можете указать почтовый сервер в теге cfmail или использовать сервер по умолчанию. Когда тег будет выполнен, coldfusion/railo попытается получить доступ к этому серверу. Если сервер недоступен или заблокирован, ваше сообщение будет помещено в папку невозможности доставки Coldfusion / Railo. Единственный способ проверить это - написать скрипт для отслеживания недоставленной папки и ее содержимого.
2) Если coldfusion / railo успешно подключится к SMTP-серверу и попытается передать электронную почту, ваши уведомления будут приходить с SMTP-сервера, а не coldfusion/railo. Сообщение будет отправлено с SMTP-сервера на failto=""
путь или from=""
если не указано Это электронное письмо будет уведомлено о том, что "почтовый ящик не существует", "ретрансляция запрещена", "пользователь превысил свой почтовый ящик" и т. Д.
Если вам необходимо отслеживать эти отказов, вы можете создать отдельную учетную запись электронной почты для failto="" и использовать CFPOP для контроля учетной записи электронной почты на наличие отказов.
Кроме того, если вы используете такую компанию, как sendgrid для вашего исходящего SMTP-сервера, они предоставят API для отслеживания отказов, отказа, жалоб на спам и т. Д.