Настройка postfix как smtp клиент с авторизацией
Настройка проводилась на ubuntu server 14.04.
root@linux:~# aptitude install postfix postfix-pcre
- Редактируем /etc/postfix/main.cf
relayhost = smtp.eltex.nsk.ru smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/saslpw smtp_sasl_security_options = noanonymous sender_canonical_maps = pcre:/etc/postfix/sender_pcre
- Создадим файл /etc/postfix/saslpw с логином и паролем
your.mail.relay.server username@yourdomain.comt:yourpasswdroot@linux:/etc/postfix# postmap /etc/postfix/saslpw
Как сменить поле from для адреса root@localhost, www-data
В файли конфигурации необходимо добавить строчку
sender_canonical_maps = pcre:/etc/postfix/sender_pcre
теперь создадим файл /etc/postfix/sender_pcre следующего содержания/^[a-z,0-9]{1,20}\@/ noreply@mydomen.ru
данная конструкция будет заменять любое имя в поле from на noreply@mydomen.ru, проверить можно так.
root@linux:/etc/postfix# postmap -q asdas@sdf pcre:/etc/postfix/sender_pcre noreply@mydomen.ru
root@kcs:/etc/postfix# service postfix restart
пример отправки простого письма
echo "Test"|mail -s "test3" -r skfj@aksjh.ru name@mail.ru
смотрим что в логах postfix
Oct 22 10:38:44 linux postfix/pickup[5160]: 2E36910007F: uid=0 from=<skfj@aksjh.ru> Oct 22 10:38:44 linux postfix/cleanup[5277]: 2E36910007F: message-id=<56286854.mqnXfsDpVSLpMEeS%skfj@aksjh.ru> Oct 22 10:38:44 linux postfix/qmgr[5161]: 2E36910007F: from=<noreply@mydomain.ru>, size=408, nrcpt=1 (queue active) Oct 22 10:38:44 linux postfix/smtp[5279]: 2E36910007F: to=<name@mail.ru>, relay=smtp.mydomain.ru[10.2.2.5]:25, delay=0.39, delays=0.02/0.01/0.24/0.12, dsn=2.0.0, status=sent (250 OK id=1Zp7eG-0005qe-FW)