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

Как я могу сказать Postfix «граничный» MTA подделать это конечный пункт назначения для DSN?

Мой вопрос касается обработки уведомлений о состоянии доставки (DSN) моих экземпляров входящего почтового сервера Postfix. Однако решение этой проблемы может полностью выходить за рамки DSN.

Допустим, это поток почты, поступающей в мой домен. D, E и F находятся под моим контролем, и A, B и C отправителя.

 A
  +----------+
  |          |
  |   MUA    |
  | (sender) |
  |          |
  +----+-----+
       |
       |
B      |            C                   D                  E
 +-----v-------+     +-----------+       +------------+     +------------+
 |             |     |  Outbound |INTERNET Inbound    | LAN | Local mail |
 | Submission  +----->  gateway  +-------> gateway    +---->+ storage    |
 | (MTA)       |     |  (MTA)    |       | (MTA)      |     | delivery   |
 |             |     |  sender   |       | recipient  |     | (MTA)      |
 +-------------+     +-----------+       +------------+     +-----+------+
                                                                  | LMTP
                                                             LAN  | (final
                                                                  | delivery)
                                                           F      |
                                                            +-----v------+
                                                            |            |
                                                            | Mailbox    |
                                                            | devlivery  |
                                                            | (MDA)      |
                                                            +------------+

D (край, выход в Интернет, высокая доступность) и E (внутреннее, бюджетное SLA) - это отдельные машины, так как я хотел бы разделить вещи по масштабируемости, безопасности и доступности. Таким образом, почту можно будет поставить в очередь на несколько дней по адресу D в случае E в дешевой сети / кластере не работает из-за аварийного сценария.

Отправитель может запросить DSN в своем почтовом клиентском приложении (например, в Thunderbird включите DSN в меню просмотра создания), а с Postfix по умолчанию он проинформирует отправителя об успешной доставке из E как только он доставил его F. В этом сообщении DSN отправитель много знает о моей внутренней сети, и этого я бы хотел избежать.

С точки зрения D, сам по себе не является конечным получателем почты (поскольку E настроен как ретранслятор для домена). Более того, когда он передает E, это еще не конечный пункт назначения при пересылке почты. Это делает это только в E сообщить отправителю.

Я обнаружил, что у Gmail очень элегантный способ. Это каким-то образом запускает DSN уже при отправке C к D (где D тогда это крайний MTA Gmail). Я хотел бы знать, как настроить мои экземпляры Postfix, такие как Gmail, для работы с MTA в Интернете. Это сделало бы исходящий MTA отправителя ответственным за информирование удаленного MTA о статусе доставки.

Поскольку у меня нет настройки условной доставки, отказы отключены на этом пути, вся почта принимается на D так или иначе будут доставлены в почтовый ящик. Итак, я хотел бы сообщить удаленным MTA уже на этом этапе, что доставка прошла успешно, и я хочу отключить любую дальнейшую обработку DSN на моих собственных серверах. Это должно позволить C сообщить отправителю об успешной доставке.

Я пытался установить smtpd_discard_ehlo_keywords = silent-discard, dsn в D уже согласно Readme для DSN Postfix, но, как и ожидалось, отправители больше не получают информации, и это уже слишком, чтобы отключать.

Коротко; как я могу заставить Postfix сказать (солгать) удаленный MTA C который D окончательная доставка сообщения?
... в попытке имитировать работу Gmail.