Настраиваем Postfix на отправку писем через MailGun

В этой статье пойдет речь о том, как настроить ваш Linux сервер отправлять почту через сервис MailGun.

Для начала нужно удостовериться что с Вашей учетной записью все в порядке. Для этого можно воспользоваться утилитой curl и отправить письмо через API:

curl -s -user 'api:ВАШ_API_КЛЮЧЬ' \  
https://api.mailgun.net/v3/домен/messages \  
-F from='Excited User <mailgun@домен>' \  
-F to=ВЫ@домен> \  
-F subject='Тест' \  
-F text='Проверка Mailgun!'

Убедимся, что в системе присутствуют необходимые пакеты:

CentOS/RedHat:

yum install postfix cyrus-sasl-plain cyrus-sasl-md5

Ubuntu/Debian:

apt-get update apt-get install postfix libsasl2-modules

Дальше нужно отредактировать файл с настройками postfix:

vim /etc/postfix/main.cf

В конец добавляем следующие строки:

smtp_sasl_auth_enable = yes
relayhost = smtp.mailgun.org            
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd

Создаем файл с логином:

vim /etc/postfix/sasl_passwd

Вносим в него следующую информацию:

smtp.mailgun.org пользователь@домен.com:пароль

Создаем hash:

chmod 600 /etc/postfix/sasl_passwd  
postmap /etc/postfix/sasl_passwd

Перезапускаем postfix для применения изменений:

service postfix restart