Назад | Перейти на главную страницу

Как получить обратную связь от SMTP-сервера, подключившись к нему с другого сервера в той же сети?

У меня такой сценарий:

[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-сервер сгенерирует и доставит их.