как отслеживать отклоненные или недоставленные письма в sails.js

Я использую nodemailer для отправки писем.

Мое требование - отслеживать отклоненные или недоставленные электронные письма.

Как это сделать ? Пожалуйста помоги


person Mahahari    schedule 24.03.2014    source источник


Ответы (1)


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

Это письмо, которое вы получите, - это то, что вас интересует.

Используемый вами MDA / MTA (например, sendmail) должен быть настроен для передачи входящих писем в настроенный вами сценарий. Таким образом, ваш скрипт запускается автоматически, если приходят новые письма, которые вас интересуют. Как настроить ваш MDA / MTA, было уже ответил.

Если это сработает, вам нужно «разобрать» почту. Я думаю, что почта предоставляется вашему скрипту как стандартный поток ввода. Вы можете получить к нему доступ с помощью process.stdin. Затем вы должны проверить почту на наличие ошибок, отказов или всего, что вас интересует, и, возможно, сохранить статус получателя в базе данных.

person Ulrich Thomas Gabor    schedule 24.03.2014
comment
Я попытался отправить почту с пустым содержимым, пустой темой, используя nodemailer, я не получил никакого сообщения об ошибке в качестве ответа, ответ показал 250 OK, но письмо не отправлено предполагаемому получателю - person Mahahari; 25.03.2014
comment
Все эти письма в порядке и должны быть доставлены получателю. Может они в папке со спамом? Вы получаете уведомления только об отклоненных письмах, но не о письмах, которые были приняты, а затем объявлены как спам. - person Ulrich Thomas Gabor; 25.03.2014
comment
Да, ты прав. Я проверил папку со спамом. Почта находится в папке для спама. Разве нельзя определить, попадает ли почта в спам? - person Mahahari; 25.03.2014
comment
Нет, вы не можете определить, что получатель делает с почтой. В этом случае ресивер автоматически переместит его в другую папку. Подобные действия невозможно отследить. - person Ulrich Thomas Gabor; 25.03.2014
comment
Спасибо за быстрый ответ - person Mahahari; 25.03.2014