Я пытаюсь пересылать почту через Postfix и изменять адрес отправителя, одновременно проходя проверку DKIM / DMARC.
Итак, если я отправлю электронное письмо с user1@domainA.com через ретранслятор Postfix (используя его в качестве интеллектуального хоста) он будет ретранслировать электронную почту по назначению, как и ожидалось. Но я хочу поменять с (отправитель) адрес, когда он проходит через реле к user1@domainB.com, где domainB.com это название реле.
Я пробовал использовать PostSRSd, который меняет электронную почту, но не меняет адрес «От», поэтому, когда конечный пользователь получает электронное письмо, оно все еще кажется отправленным user1@domainA.com, и когда конечный пользователь отвечает, он возвращается к user1@domainA.com. Я хочу, чтобы это выглядело из user1@domainB.com, и когда конечный пользователь отвечает, чтобы он вернулся к user1@domainB.com.
Дополнительная сложность заключается в том, что я хочу, чтобы сообщение прошло проверку, когда оно попадет к конечному пользователю. Я интегрировался с RSPAMD, чтобы включить как DKIM, так и ARC.
Если я использую перезапись заголовка в Postfix (smtp_header_checks
), чтобы принудительно перезаписать заголовок From с помощью Regexp, тогда проверка завершится ошибкой у конечного пользователя, и сообщение помечается как спам.
Есть идеи, пожалуйста?
ОБНОВИТЬ
Итак, я нашел своего рода рабочее решение. Я обнаружил, что часть проблемы заключается в том, что подписание сообщения (DKIM) происходит перед изменение отправителя (с адреса), или в терминах Postfix, предварительная очередь.
Поэтому я разделил проблему на два экземпляра Postfix. Первый изменяет адрес отправителя и передает сообщение второму экземпляру Postfix. Это подписывает сообщение с использованием DKIM с измененным адресом отправителя, а затем конечный пользователь получает электронное письмо и проходит проверку, поскольку оно было правильно подписано.
В идеале я бы сделал все в одном экземпляре Postfix, но я могу смириться с этим в качестве обходного пути.
Если у кого-то есть другие идеи, дайте мне знать!