Пересылка писем, приходящих на мой сервер postfix, на их соответствующие аккаунты gmail.

Вопрос или проблема

Я не опытный администратор postfix, поэтому, возможно, для моей следующей проблемы есть простое решение:

У меня есть личный SMTP сервер, работающий на Ubuntu 24.04 с postfix 3.8.6.

На (скажем) mydomain.com определено несколько адресов электронной почты, и я перенаправляю письма, приходящие на эти адреса, на соответствующие аккаунты gmail, используя файл конфигурации /etc/postfix/valiases, который выглядит примерно так:

[email protected]  [email protected]
[email protected]  [email protected]
[email protected]  [email protected]
[email protected]  [email protected]
[email protected]  [email protected], [email protected]
[email protected]  [email protected], [email protected]
...

Эта конфигурация работает большую часть времени, за исключением некоторых писем, приходящих с серверов электронной почты с жестко настроенными SPF (например, [email protected]). В этом случае серверы gmail отклоняют такие пересланные письма с сообщением, подобным этому:

550-5.7.26 Домен MAIL FROM [otherdomain.com] имеет запись SPF 550-5.7.26 с жесткой политикой отказа (-all), однако проверка SPF не прошла 550-5.7.26 с ip: [a.b.c.d]. Чтобы лучше защитить наших пользователей от 550-5.7.26 спама и фишинга, сообщение было заблокировано. Для получения инструкций о 550-5.7.26 настройке аутентификации перейдите по адресу 550 5.7.26 https://support.google.com/mail/answer/81126#authentication d2e1a72fcca58-71ec144d346si5857955b3a.303 – gsmtp

Здесь a.b.c.d — это IP-адрес моего SMTP (postfix) сервера. Очевидно, что gmail не примет письма, приходящие с IP-адреса моего сервера и имеющие в поле From: (или, на самом деле, поле Return-Path:) что-то подобное [email protected].

Чтобы решить эту проблему, я использую файл конфигурации /etc/postfix/canonical так:

@otherdomain.com       [email protected]
@yetanotherdomain.com  [email protected]
...

Благодаря этой конфигурации postfix добавляет заголовок, как:

Return-Path: <[email protected]>

к письмам, приходящим с вышеуказанных доменов.

В результате gmail принимает это письмо:

ARC-Authentication-Results: i=1; mx.google.com;
       spf=pass (google.com: домен [email protected] назначает a.b.c.d как разрешенного отправителя) [email protected];
       dmarc=fail (p=REJECT sp=NONE dis=QUARANTINE) header.from=otherdomain.com

Это работает для доменов, перечисленных в файле конфигурации /etc/postfix/valiases, как я показал выше. Однако мне нужно более общее решение, которое будет охватывать все домены.

Обратите внимание, что мой сервер postfix контролирует SPF записи и отклоняет спам-письма. Поэтому мне не нужна проверка SPF от gmail. И решение, которое мне нужно — это общий метод пересылки всех писем так, как будто они происходят от mydomain.com. Как я могу сделать это в postfix?

Ответ или решение

Чтобы настроить пересылку писем в Postfix с вашего SMTP-сервера, чтобы все письма поступали от домена вашего почтового сервера (например, mydomain.com), есть несколько шагов, которые вам нужно будет выполнить. Это решение поможет избежать проблем с проверкой SPF от других доменов и гарантирует, что ваши пересылаемые письма не будут блокироваться Gmail или другими почтовыми провайдерами.

1. Используйте Canonical Mapping

Для того, чтобы все ваши исходящие письма имели From или Return-Path, соответствующий вашему домену, необходимо настроить canonical маппинг. Это позволит вам переписывать адреса отправителей всех входящих писем на ваш домен.

Шаги:

  1. Создайте или отредактируйте файл /etc/postfix/canonical

    Добавьте следующую строку для перенаправления всех внешних отправителей на ваш домен:

    @*    [email protected]

    Эта строка указывает, что все сообщения от любых доменов (@*) будут перенаправляться с адреса yourdomain.com.

  2. Настройте Postfix на использование Canonical Mapping

    В файле /etc/postfix/main.cf добавьте или отредактируйте следующие строки:

    sender_canonical_maps = hash:/etc/postfix/canonical
  3. Обновите и создайте хэш-таблицу

    После редактирования файла canonical, выполните команду:

    sudo postmap /etc/postfix/canonical

2. Настройка доступа для пересылаемых сообщений

Убедитесь, что ваше правило пересылки с помощью файла valiases осталось в силе. Это позволяет перенаправлять письма на адреса Gmail, но теперь их отправитель будет выглядеть так, как будто они отправляются с вашего собственного домена.

3. Настройка SPF для вашего домена

Чтобы свести к минимуму вероятность того, что Gmail пометит пересылаемые письма как спам, убедитесь, что у вас правильно настроены SPF-записи для вашего домена. Это позволит вашим писем проходить проверку, когда они будут отправлены через ваш сервер. SPF-запись может выглядеть примерно так:

v=spf1 a mx ip4:a.b.c.d -all

Замените a.b.c.d на IP-адрес вашего сервера.

4. Перезагрузка Postfix

После всех изменений необходимо перезагрузить Postfix, чтобы изменения вступили в силу:

sudo systemctl restart postfix

5. Тестирование

Отправьте тестовое письмо с одного из доменов, чтобы убедиться, что адреса отправителей корректно переписываются, и вы не получаете ошибок от Gmail.

Заключение

Следуя описанным шагам, вы сможете настроить пересылку всех входящих писем на Gmail-адреса так, чтобы они имели правильный адрес отправителя. Это улучшит доставляемость и сократит вероятность блокировки писем вашим почтовым провайдером. Надеемся, данное решение окажется полезным для вас в управлении вашим почтовым сервером на Ubuntu с использованием Postfix.

Оцените материал
Добавить комментарий

Капча загружается...