This post will show you how to route messages to other mail server using postfix transport file. This feature allows you to perform mail routing to respective host according to the map defined. Postfix will checking the transport map first instead of reading the DNS for MX record. The steps was tested on CentOS 6.5 and Postfix 2.6.6.
1. In order for Postfix to use the transport file, configure main.cf to use transport map :
transport_maps = hash:/etc/postfix/transport
2. Edit transport map file :
3. Rebuild the transport database file :
Note : The command “postmap /etc/postfix/transport” should be execute whenever you change the transport table.
4. Reload postfix to apply the new transport :
5. Verify :
- Dimitri Nek
- Помогла статья? Подписывайся на telegram канал автора
- Главные особенности
- Базовая возможная настройка
- Преобразования и виртуальные домены
- Защита и доступ
- Отладка
- How to Use Postfix Transport Map
- Карты ретрансляции, зависящие от отправителя
- Настройка аутентификации SMTP
- Тестирование
- Подведение итогов
Dimitri Nek
Dimitri is a Linux-wielding geek from Newport Beach and a server optimization guru with over 20 years of experience taming web hosting beasts. Equipped with an arsenal of programming languages and an insatiable thirst for knowledge, Dimitri conquers website challenges and scales hosting mountains with unmatched expertise. His vast knowledge of industry-leading hosting providers allows him to make well-informed recommendations tailored to each client’s unique needs.

Появилась необходимость настроить отправку почты с одного почтового сервера postfix через другой. Причем на сервере было несколько доменов, для каждого нужен был свой внешний почтовый сервер для пересылки почты.
В общем случае проблема пересылки почты решается очень просто. Если вы хотите, чтобы отправка всей почты шла через другой smtp сервер, достаточно указать адрес этого сервера в параметре postfix.
relayhost = mailsrv.mymail.ru:25
После этого вся исходящая почта будет отправляться на сервер mailsrv.mymail.ru. Мне такой вариант не подходил. Я хотел потестировать proxmox mail gateway на рабочем сервере, но только на одном домене. Для этого мне надо было почту одного конкретного домена направить на отправку через новый почтовый шлюз.
Почему-то в интернете нашел много советов настроить пересылку почты через transport_maps. Я потестировал этот параметр, но он не для моего случая. С помощью transport_maps вы можете пересылать всю входящую почту на какой-то другой сервер. Мне же нужно было не пересылать входящую, а настроить именно отправку сообщений, то есть исходящую почту.
Чтобы сделать то, что мне надо, необходим параметр — sender_dependent_relayhost_maps. Добавляем его в конфиг в таком виде:
sender_dependent_relayhost_maps = hash:/etc/postfix/relayhost_map
Создаем индексированную базу из этого файла:
# postmap hash:/etc/postfix/relayhost_map
После этого можно перезапускать postfix и проверять. В данном случае я отправил всю почту с домена prox.mymail.ru через внешний smtp сервер 10.1.3.15 на 26-й порт. Его использует proxmox mail gateway для пересылки почты. Все остальные домены как отправляли почту сами локально, так и будут отправлять.
В целом, мне понравился proxmox mail gateway, думаю, буду его использовать. Немного усложняется структура почтового сервера, так как надо разделять smtp службы и imap по разным серверам, но в целом там все очень удобно собрано в одном месте с хорошей панелью управления. Возможно, напишу статью. Его можно использовать совместно с классическим почтовым сервером на postfix.
Если у вас есть желание научиться администрировать системы на базе Linux, но вы с ними никогда не работали и не знакомы, то рекомендую начать с онлайн-курса «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Цена за курс минимальная (символическая). Информация о курсе и цене.
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.
Время на прочтение

Добрый день, сообщество. В этой статье хочу поговорить о Postfix – о том, каковы принципы его работы, и о возможностях диагностики проблем. В силу специфики работы приходится с ним сталкиваться — либо для решения своих задач, либо для понимания того, как работает чужая инфраструктура. В интернете о Postfix много информации, однако в основной массе это готовые конфиги для развертывания почтового сервера с нуля. Здесь же я постараюсь охватить основные аспекты администрирования Postfix.
Известно, что Postfix разработан как альтернатива Sendmail. П О повышало производительность, обеспечивало устойчивость, гибкость и безопасность решения. Все основные Linux-дистрибутивы включают Postfix, в Mac OS X, начиная с версии 10.3, программа также используется вместо Sendmail.
Главные особенности
Postfix состоит из нескольких небольших, совместно работающих программ, которые посылают сетевые сообщения, принимают сообщения, осуществляют локальную доставку почты и другие действия. Связь между программами обеспечивается с помощью сокетов Unix или алгоритмов FIFO. Архитектура отличается от Sendmail, где всю работу нужно выполнять одной большой программе.
Запуск и контроль всех процессов выполняет программа master. В ее конфиге — master.cf -перечислены вспомогательные программы и информация о том, как и когда их нужно запустить.
Самые важные программы показаны в блок-схеме:

За прием почты на порту SMTP отвечает smtpd. Он же проверяет, авторизован ли клиент для отправки почты. Если письмо отправляется локально, через совместимость с /usr/lib/sendmail, файл будет записан в каталог /var/spool/postfix/maildrop. Этот каталог сканируется программой pickup, которая обрабатывает найденные файлы. Входящая почта обрабатывается программой cleanup. Она добавляет отсутствующие заголовки и переписывает адреса в соответствии с картами canonical и virtual. Прежде чем поместить письмо в очередь, incoming программа cleanup передает письмо программе trivial-rewrite, которая также выполняет незначительные исправления в адресах, добавляя домен и частично заполненный адрес.
Электронные письма, ожидающие доставки, находятся под управлением qmgr – администратора очередей:
Incoming – входящая почта;
Active – доставляемая почта;
Deferred – письма, доставка которых не осуществилась ранее;
Hold – письма, заблокированные в очереди администратором;
Corrupt – письма, которые невозможно прочитать.
Анализатор очередей обычно выбирает сообщение для обработки на основе алгоритма FIFO.
Также он поддерживает и более сложный алгоритм — например, отбирает события только с определенных адресов.
Чтобы не перегружать хост приемки, после доставки писем Postfix использует алгоритм медленного запуска, который позволяет контролировать скорость доставки. Отсроченные письма получают метку с обозначением времени повторной отправки. Время увеличивается экспоненциально, благодаря этому вы можете избежать траты ресурсов на сообщения, которые не удается доставить. Состояние недосягаемых мест кешируется — во избежание новых попыток.
Отправка почты идет при поддержке trivial-rewrite, утилита qmgr принимает решение, куда должно быть отправлено сообщение. Решение о маршруте может быть аннулировано transport картой.
Доставка с помощью SMTP осуществляется, конечно, smtp-программой. Lmtp осуществляет локальную пересылку почты по протоколу LMTP, использующим семантику ESMTP (https://tools.ietf.org/html/rfc2033). L MTP изменен так, что для управления локальной очередью почтовый сервер не нужен.
Задача local – локальная доставка почты. Программа распознает в таблице aliases и выполняет инструкции из файла .forward получателя. Сообщения могут быть направлены по другому адресу, переданы внешней программе на обработку или сохраниться в почтовых папках пользователей.
Программа virtual доставляет письма в виртуальные почтовые ящики – ящики, представляющие собой адреса назначения. Наконец, программа pipe реализует доставку через внешние программы.
Взаимодействие между пользователем и системой обработки регулируется утилитами:
sendmail, mailq, newaliases — интерфейс совместимости postfix и sendmail.
Поставьте «.» И нажмите Enter — sendmail попытается отправить письмо.
postfix – запускает и прекращает работу системы обработки почты;
postalias — создает и модифицирует таблицы псевдонимов;
postmap – создает, модифицирует, запрашивает таблицы преобразований;
onedomain.ru smtp:10.1.2.10
twodomain.ru smtp:10.1.3.10
Утилиты фактически создают индексированные карты файлов. Повторить запуск при изменениях в файлах aliases и transport;
Postcat –напечатает содержимое файла из очереди;
Postconf – инструментальное средство, позволяющее конфигурировать postfix- конфиг main.cf. Без аргументов выводит все параметры в текущей конфигурации. Если передать значение параметра – выведет значение этого параметра. С ключом –d напечатает default-настройки, а не сконфигурированные.
С ключом –n напечатает только значения, отличные от типовых.
Главным файлом Postfix является main.cf. Он конфигурирует серверные программы и определяет таблицы преобразований, на которые содержит ссылки. Содержит более 300 параметров. Для запуска почтового сервера в средней организации достаточно лишь несколько из них. В документацию рекомендуется включать лишь параметры, содержащие нестандартные значения.
Базовая возможная настройка
Супер-простая конфигурация – пустой файл. Как ни странно, вполне приемлемая и приводит к тому, что создается почтовый сервер, осуществляющий локальную доставку почты в пределах домена локального хоста. Любые нелокальные сообщения посылаются дистанционным серверам.
Второй вариант – null клиент. Система не выполняет локальную доставку, а направляет исходящую почту на указанный почтовый сервер. При этом конфиге указывается несколько параметров: mydomain – определяющий домен компьютера; myorigin — определяющий почтовый домен, добавляемый к почтовым адресам. Третьим параметром будет mydestination, определяющий локальные почтовые домены (они же canonical домены). Если домен получателя соответствует mydestination, письмо доставит программа local (при условии что файла .forward не найдено). Если в mydestination несколько записей, они рассматриваются как псевдонимы одного домена. Null клиенту локальная доставка не нужна, поэтому параметр mydestination — пустой. Также программа local проведет поиск псевдонима адреса в таблицах alias_maps. Наконец, параметр relayhost оповещает Postfix о том, что нелокальные сообщения нужно посылать на указанный компьютер, а не адресатам. Квадратные скобки говорят о том, что указанная строка обрабатывается как имя компьютера, то есть A не MX запись DNS. Null клиент не должен получать почту с других систем – комментируем строчку smtpd в файле master.cf – программа smtpd не запустится.
Преобразования и виртуальные домены
Аспекты поведения Postfix определяются использованием таблиц поиска, отражающих ключи как значения тип: путь или просто как списки. Например, таблица alias_maps:dbm:/etc/mail/aliases.
Обратите внимание, синтаксис ключ: значение обеспечивает совместимость с Sendmail.
Помимо традиционного файла базы данных бинарного формата dbm, источником данных для таблицы преобразований может быть ldap, regexp выражения, postgres, Mysql и многое другое.
Если вам нужно обслуживать почтовый домен, то можно сделать это тремя путями:
— Указать домен в mydestination – доставка пойдет по схеме, описанной выше;
— Указать домен в параметре virtual_alias_domains. Домен получит собственное адресное пространство. Потребуется обеспечить возможность преобразования адресов в реальные (карта virtual_alias_maps);
— Указать домен в virtual_mailbox _domains. Здесь также будет собственное именное пространство. Но управление списком пользователей будет независимым от системных учеток. Потребуется указать параметр virtual_mailbox _maps c таблицей действительных пользователей в домене.
Защита и доступ
Postfix защищает себя на нескольких уровнях. Большинство серверных Postfix-программ могут выполняться в среде с измененным корневым каталогом (chroot). Они являются отдельными программами без связи Родитель-дочерний. Ни одна из них не имеет бита setuid. Каталог, в который направлена почта, открыт для записи группе postdrop, для нее — программа postdrop setgid.
Что касается доступа, почтовые домены ретранслируют почту на сторонние адреса только для надежных агентов. Открытая ретрансляция с неизвестных адресов, как известно, не сулит ничего хорошего. Postfix по умолчанию закрыт как ретранслятор. Стандартные настройки сильно ограничены, возможно вам придется ослаблять ограничения. Доступы конфигурируются списками ограничения доступа access restriction list. Важнейшим параметром будет smtpd_recipient_restrictions, так как адресом получателя куда проще управлять. По крайней мере, можно установить локальный ли он.
Вот список ограничений для проверки ретрансляции:
Check_client_address – проверяет адрес ПК клиента;
Check_recipient_access – проверяет почтовый адрес получателя;
Permit_mynetworks – предоставляет доступ к адресам в параметре mynetworks;
Reject_anauth_destination – отклоняет почту для нелокальных получателей – ретрансляция отсутствует.
Одна из мер защиты – строгая реализация протокола ESMTP. Легитимные почтовые сервера протокол принимают, а рассылки спама могут не принять и дискредитировать себя. Однако сейчас технология уже не столь надежна. Есть злоумышленники, способные обработать легитимную почту.
Черные списки основаны на информации из DNS – разрешаются директивой reject_rhsbl_sender – после указывается DNS-сервер, также reject_rbl_client , только проверяет имя PC, а не доменное имя.
До сих пор в версиях Posfix удавались лишь DDOS атаки.
Отладка
Если возникла проблема с почтой, первым делом можно заглянуть в журнальные файлы Posfix. Каждая Postfix-программа регистрирует запись в журнале для обработанного сообщения.
Идентификатор письма 96987C3CFB40 — общий для каждой строки. Postfix присвоит его, как только сообщение попадает в систему и никогда не изменяет. Таким образом, при поиске в журнале можно сосредоточиться на поиске ID, затем с помощью grep отследить маршрут.
Другим местом поиска является сама очередь. Утилита postqueue –p (или аналогичный вывод mailq) печатает содержимое очереди.
-Queue ID- —Size— —-Arrival Time—- -Sender/Recipient——-
90190C3B9B9F 2242 Mon Jul 27 19:50:05 MAILER-DAEMON
95E96C3CFB5A 2307 Mon Jul 27 19:50:05 MAILER-DAEMON
956FAC3CFB46 2311 Mon Jul 27 19:50:05 MAILER-DAEMON
96987C3CFB40 2311 Mon Jul 27 19:50:05 MAILER-DAEMON
97944C3CFB5E 2311 Mon Jul 27 19:50:05 MAILER-DAEMON
postcat: name_mask: all
postcat: inet_addr_local: configured 2 IPv4 addresses
postcat: inet_addr_local: configured 2 IPv6 addresses
*** ENVELOPE RECORDS deferred/9/96987C3CFB40 ***
message_size: 2311 201 1 0 2311
message_arrival_time: Mon Jul 27 19:50:05 2020
create_time: Mon Jul 27 19:50:05 2020
regular_text: by iwtm611.local (Postfix) with ESMTP id BCB42C3CFB62
regular_text: MIME-Version: 1.0
regular_text: Date: 2 Jul 2020 12:48:40 +0300
regular_text: Subject: test
regular_text: Content-Type: text/plain; charset=utf-8
regular_text: Content-Transfer-Encoding: base64
*** HEADER EXTRACTED deferred/9/96987C3CFB40 ***
*** MESSAGE FILE END deferred/9/96987C3CFB40 ***
qshape – новый инструмент свежих версий – показывает сводную статистику содержимого и подводит итог – количество минут, в течение которых сообщение отправляется. Например, для итога по домену отправителя запустите qshape –s, а отклоненные письма можно посмотреть через параметр qshape deferred.
В примере таблицы можно увидеть, что 4 сообщения на gmail висят в очереди более 120 минут.
Для проверки доступа в Postfix есть расширение xclient, имитирующее отправку сообщений из другого места. Включается в main.cf параметром smtpd_autorized_xclient_hosts.
Postfix можно легко установить и запустить. Но быстро разобраться и решить проблему его внедрения в незнакомой структуре, удастся лишь при понимании тонкостей его работы. Надеюсь, кому-то эта статья поможет сэкономить время и силы на выявление причин проблем. И понять, почему почтовая система работает таким образом, а не иначе.
Хочу поделиться с Вами одним из вариантов настройки и использования Postfix’a, когда в нашем распоряжении есть несколько IP с которых можно вести доставку писем.
Задача стояла приблизительно такая. Необходимо настроить на одном сервере с двумя интерфейсами, Postfix с разными очередями для разных внешних IP. Пример на картинке.

Прошу пожаловать под кат, кому эта тема интереса.
- Входящая почта (MX) example.com принимается на один IP
x.x.x.1 - x.x.x.1
Для удобства придумываем хостнеймы для IP, я использую нотацию по назначению:
Для нормальной работы следует позаботиться о DNS, у нас один принимает почту и все postfix’ы будут отсылать почту, для них следует прописать PTR и SPF записи, вот так будут выглядеть прямые и обратные RR для example.com:
example.com. IN MX 0 mx.example.com.
mx.example.com. IN A x.x.x.1
mail-out2.example.com. IN A x.x.x.2
mail-out3.example.com. IN A x.x.x.3
example.com. IN TXT «v=spf1 ip4:x.x.x.2 ip4:x.x.x.4 mx -all»
1.x.x.x.in-addr.arpa. IN PTR mx.example.com.
2.x.x.x.in-addr.arpa. IN PTR mail-out2.example.com.
3.x.x.x.in-addr.arpa. IN PTR mail-out3.example.com.
Пред тем как заняться инстансами, необходимо изменить настройки основного postfix’а, как настроить postfix для работы MX написано было много, посему остановлюсь на основных моментах, редактируем /etc/postfix/main.cf:
Оставляем только ipv4 и прописываем необходимые ip, обработка писем
inet_interfaces = x.x.x.1, y.y.y.1, 127.0.0.1
inet_protocols = ipv4
Принудительно отправляем письма с одного IP и прописываем к нему HELO
smtp_bind_address = x.x.x.1
smtp_helo_name = mx.example.com
myhostname = mx.example.com
Доставляем письма только со своей внутренней сети и своих IP:
mynetworks = x.x.x.1, x.x.x.2, x.x.x.3, y.y.y.0/24
Принимаем почту для своего домена:
mydestination = example.com, *.example.com, localhost
Основной Postfix готов. Создаем наши инстансы. Нам понадобиться 2 дополнительных инстанса которые будут настроены лишь для отсылки писем, стандартный будет принимать локальную почту, а так же будет MX’ом для домена example.com.
# postmulti -e init
# postmulti -I postfix-mail-out2 -G out-only -e create
# postmulti -I postfix-mail-out3 -G out-only -e create
Настраиваем инстансы. Файлы настроек будет в /etc/postfix-mail-out2 и postfix-mail-out3 соответственно. Открываем /etc/postfix-mail-out2/main.cf. Прописываем HELO, внешний и внутренний IP:
myhostname = mail-out2.example.com
smtp_bind_address = x.x.x.2
smtp_helo_name = mail-out2.example.com
inet_protocols = ipv4
inet_interfaces = x.x.x.2, y.y.y.2
Поскольку дополнительные инстансы будут заниматься только отсылкой почты, надо запретить локальную доставку и прописать откуда возможен релей:
mydestination =
alias_maps =
alias_database =
local_recipient_maps =
local_transport = error:5.1.1 Mailbox unavailable
mynetworks = /etc/postfix/mynetworks
Чтобы иметь возможность перекидывать почту с одного физического сервера на другой в внутри локальной сети, необходимо добавить еще один траспорт, назовем его lrelay. Делаем это в master.cf каждого инстанса. Добавляем строку:
lrelay unix — — — — — smtp
-o smtp_bind_address=y.y.y.2
Перекидывать с одного сервера на другой можно будет через transport_maps. Прописываем в каждый инстанс:
transport_maps = hash:/etc/postfix-mail-out1/transport
Например чтобы все письма с mail-out1 были переправлены на mail-out2. В /etc/postfix-mail-out1/transport добавляем строку:
Второй инстанс настраивается аналогично, меняются только IP.
После настройки необходимо активировать инстансы:
# postmulti -i postfix-mail-out2 -e enable
# postmulti -i postfix-mail-out3 -e enable
И перезапустить postfix:
# /etc/init.d/postfix restart
Перезапуск, старт и остановка отдельных инстансев может производиться через postmulti:
# postmulti -i postfix-mail-out2 -p start/stop
# postmulti -i postfix-mail-out3 -p start/stop
Проверить кто запущен, а кто нет:
# postfix status
postfix/postfix-script: the Postfix mail system is running: PID: 762
postfix-mail-out2/postfix-script: the Postfix mail system is running: PID: 114
postfix-mail-out3/postfix-script: the Postfix mail system is running: PID: 149
Теперь имеем 3 раздельные очереди, которые можно до-настраивать по собственному желанию.
У меня для основного постфикса и дополнительных инстансев запущены dkim и domainkey демоны которые подписывают исходящие письма.
Как и для чего можно использоваться такую конфигурацию:
Немного полезные ссылок по настройке Postfixа:
P. S. Какая же работа сервиса без статистики. В связи с этим написал расширение для Cacti которое будет собирать с каждого инстанса статистику по кол-ву писем в очередях через SNMP. Напишу это отдельным постом.
Задавайте вопросы, буду рад помочь.
There are many SMTP relay services. In this tutorial, I use Mailjet, which allows you to send 6000 emails per month for free. S MTP relay services maintain good IP reputation. They stop the bad senders and grow the good ones, so using SMTP relay service will increase the chance of hitting into the inbox.
How to Use Postfix Transport Map
The transport map defines mappings from recipient address to transport method. By default, the value of the transport_maps parameter in Postfix is not set, as can be checked with:
iRedMail and Modoboa uses MySQL/MariaDB database to store transport maps. Если вы использовали iRedMail для настройки своего почтового сервера, вывод должен быть таким:
Если вы использовали Modoboa для настройки своего почтового сервера, вывод должен быть таким:
transport_maps = proxy:mysql:/etc/postfix/sql-transport.cf proxy:mysql:/etc/postfix/sql-spliteddomains-transport.cf
Параметр transport_maps указывает на одну или несколько таблиц поиска транспорта. Вы можете редактировать основной файл конфигурации Postfix.
sudo nano /etc/postfix/main.cf
Если вы используете iRedMail, вы можете найти параметр transport_maps и установить значение
Если вы используете Modoboa, вы можете найти параметр tranport_maps и установить значение:
transport_maps =
хеш:/etc/постфикс/транспорт
прокси:mysql:/etc/postfix/sql-transport.cf
proxy:mysql:/etc/postfix/sql-spliteddomains-transport.cf
Таблица поиска может быть в виде файла или в виде таблиц базы данных MySQL/MariaDB. Поиск в таблицах поиска будет выполняться в указанном порядке до тех пор, пока не будет найдено совпадение.
Сохраните и закройте основной файл конфигурации Postfix. Далее нам нужно создать файл таблицы поиска.
sudo nano /etc/postfix/transport
Если вы хотите использовать узел ретрансляции для доставки электронной почты определенному получателю, но отправлять электронные письма напрямую всем другим получателям в том же домене, вы можете добавить строку, как показано ниже.
Вы также можете добавить в этот файл собственное доменное имя, как показано ниже.
Это сообщает Postfix, что электронные письма, отправленные на ваш собственный домен, должны быть доставлены локально, что является поведением по умолчанию.
sudo postmap /etc/postfix/transport
Перезапустите Postfix, чтобы изменения вступили в силу.
sudo systemctl перезапустить постфикс
Карты ретрансляции, зависящие от отправителя
Транспортная карта определяет сопоставления адреса получателя с методом транспортировки. Если вы хотите определить сопоставление адреса отправителя с хостами ретрансляции, используйте параметр sender_dependent_relay_maps. По умолчанию его значение пусто, как видно из:
iRedMail использует базу данных MySQL/MariaDB для хранения зависимых от отправителя карт релейных хостов. Если вы использовали iRedMail для настройки своего почтового сервера, вывод должен быть таким:
sender_dependent_relayhost_maps = proxy:mysql:/etc/postfix/mysql/sender_dependent_relayhost_maps.cf
Параметр sender_dependent_relayhost_maps указывает на одну или несколько таблиц поиска. Вы можете редактировать основной файл конфигурации Postfix.
sender_dependent_relayhost_maps = hash:/etc/postfix/relay_by_sender
Если вы используете iRedMail, вы можете найти параметр sender_dependent_relayhost_maps и установить значение
sender_dependent_relayhost_maps =
хеш:/etc/postfix/relay_by_sender
proxy:mysql:/etc/postfix/mysql/sender_dependent_relayhost_maps.cf
sudo nano /etc/postfix/relay_by_sender
Сохраните и закройте файл. Затем создайте файл index.
sudo postmap /etc/postfix/relay_by_sender
Настройка аутентификации SMTP
Теперь нам нужно настроить SMTP-аутентификацию, чтобы SMTP-клиент Postfix мог использовать хост ретрансляции. Отредактируйте основной файл конфигурации Postfix.
# конфигураций исходящего ретрансляции
smtp_sasl_auth_enable = да
smtp_sasl_password_maps = хеш:/etc/postfix/sasl_passwd
smtp_sasl_security_options = неанонимный
smtp_tls_security_level = может
header_size_limit = 4096000
Если вы установили параметр relayhost, то я рекомендую указать для него пустое значение, как показано ниже, потому что теперь мы используем транспортные карты и карты relayhost, зависящие от отправителя.
Сохраните и закройте файл. Затем создайте файл /etc/postfix/sasl_passwd.
sudo nano /etc/postfix/sasl_passwd
Добавьте хост ретрансляции SMTP и учетные данные SMTP в этот файл, как показано ниже. Замените ключ API и секретный ключ вашим реальным ключом API Mailjet и секретным ключом.
Сохраните и закройте файл. Затем создайте соответствующий файл базы данных хэшей с помощью postmap.
sudo postmap /etc/postfix/sasl_passwd
Теперь у вас должен быть файл /etc/postfix/sasl_passwd.db. Перезапустите Postfix, чтобы изменения вступили в силу.
sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
Тестирование
Теперь вы можете отправить тестовое письмо получателям, указанным в транспортных картах, или отправить электронное письмо с адреса, указанного в зависимых от отправителя картах relayhost. Затем проверьте почтовый журнал (/var/log/mail.log или /var/log/maillog), чтобы убедиться, что он работает.
Обратите внимание: если вы используете стороннюю службу ретрансляции SMTP, такую как Mailjet, вам, вероятно, потребуется подтвердить свое доменное имя в своей учетной записи и отредактировать запись SPF и DKIM.
Подведение итогов
Я надеюсь, что это руководство помогло вам использовать транспортные карты Postfix и карты релейных хостов, зависящие от отправителя. Как всегда, если вы нашли этот пост полезным, подпишитесь на нашу бесплатную рассылку, чтобы получать больше советов и рекомендаций. Береги себя 🙂
Оцените этот урок

