У меня такой сценарий:
[HTTP-сервер]: обрабатывать сообщения
[SMTP-сервер]: только отправлять сообщения
[HTTP-сервер] === подключиться к === >>> [SMTP-сервер] === отправляет сообщение === >>> [мир]
Хорошо, все идет хорошо.
Моя точка зрения: как получить обратную связь от [SMTP-сервера], чтобы узнать, действительно ли мое сообщение было отправлено или нет?
Используя php-mailer или любой язык / api (в [HTTP Server]), у меня есть обратная связь только для соединения между серверами: «Соединение с SMTP-сервером было в порядке», но это не доказательство того, что мое сообщение действительно было отправлено.
Я имею в виду, как получить то «status = sent» или «status = bounced», которое появляется в / var / log / maillog для каждого сообщения?
Я действительно пытаюсь это сделать в последние недели, но безуспешно.
Я работал таким образом, что, когда [HTTP-сервер] подключается к [SMTP-серверу], получает идентификатор сообщения из почтового журнала, поэтому позже я перейду (SSH с [HTTP-сервера] на [SMTP-сервер]), чтобы найти / var / log / maillog с этим идентификатором сообщения и получает это «статус = отправлено» или «статус = что-нибудь».
Но я уверен, что есть автоматизированный способ сделать это.
Кто-нибудь знает?
Вот как работает SMTP: вы отправляете его на следующий сервер, и он сообщит вам, принял он его или нет. Для того, что происходит помимо этого, требуется некоторый доступ к серверу ретрансляции.
Вы можете настроить почтовый сервер на отправку вам 5-минутных сегментов / var / log / maillog .., если хотите автоматизировать.
Единственный способ узнать, что вы получаете отчет о недоставке и тому подобное, - это иметь действительный адрес from: или reply-to:, который будет перехватывать такие вещи и гарантировать, что ваш SMTP-сервер сгенерирует и доставит их.