Задача

У меня есть почтовый сервачок поднятый скриптами iredmail и мне нужно разрешить хостам из локальной сети посылать почту без авторизации.

Решение

На почтовом сервере postfix редактируем файлик /etc/postfix/main.cf и в параметре smtpd_sender_restrictions добавляем значение:

smtpd_sender_restrictions = check_sender_access pcre:/etc/postfix/sender_access.pcre, ...

А потом создаем файлик /etc/postfix/sender_access.pcre в котором прописываем правило:

/^192\.168\.1\./   OK

И перезапускаем postfix:

sudo service postfix restart
sudo apt-get install postfix mailutils

При установке указываем тип хоста - Satellite system и в качестве почтового домена указываем свой домен.
В файлике /etc/postfix/main.cf прописываем путь к файлу /etc/postfix/generic, в котором будут храниться соответствия имен пользователей адресам почты, которые попадут в поле from и relayhost. Это нужно для того, чтобы вышестоящий релей без проблем пропустил письма у которых в после @ будет стоять, вероятно, несуществующий домен машины с которой мы отсылаем почту.

smtp_generic_maps = hash:/etc/postfix/generic
relayhost = mx.yourdomain.com

Файлик /etc/postfix/generic заполняем так:

echo 'www-data yourusername@yourdomain.com' >> /etc/postfix/generic

Потом включаем его в базу настроек postfix:

postmap /etc/postfix/generic

Файлик /etc/aliases хранит соответствия локальных пользователей и адресов получателей/отправителей. То есть, например, без этого файлика сервис mdadm, увидев, что развалился массив захочет оповестить пользователя root от имени root и подставит в поле from и в поле to адрес root@localhost.localdomain. В результате письмо никуда не дойдет. Поэтому редактируем /etc/aliases и пишем там так:

login:mailaddr@domain

А затем оповещаем postfix о наличии новых алиасов:

newaliases

и рестартуем postfix

service postfix restart
Enter your comment. Wiki syntax is allowed:
 
  • linux_faq/setup_postfix_for_php_mailing_though_relay.txt
  • Last modified: 2019/02/11 09:13
  • by 127.0.0.1