Как определить, была ли электронная почта успешно доставлена ​​мгновенно

Приложение предназначено для установки на компьютер пользователя, следовательно, функция электронной почты из приложения будет очень сильно зависеть от услуги интернет-провайдера пользователя. Порт 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 для отслеживания отказов, отказа, жалоб на спам и т. Д.

Другие вопросы по тегам