В рамках этой краткой статьи не планировалось описание нюансов расширенной настройки sendmail, мы с вами попросту рассмотрим возможность быстро и с самыми простыми опциями запуска данного MTA (Mail Transfer Agent) таким образом, чтобы установленная в контексте инстанса Amazon EC2 RHEL 7.1 ваша сиэмэска (CMS, Content Management System) - будь то Joomla либо любая иная - получила бы возможность отправлять электронные почтовые сообщения без включения внешнего SMTP-сервера. И не более того; серые списки и конфигурирование clamav оставим для следующего раза. Задачка у нас с вами сегодня несложная, но очень ответственная.
Возможно, более простым способом решения задачи отправки почтовых сообщений с сайта станет для вас использование внешнего SMTP-сервера; вы избежите таким образом многих сложностей, свойственных настройке почтового сервера. Если же вы твердо решили отправлять почту, используя EC2 instance - совсем нелишне получить обратную зону, Reverse DNS, для вашего Elastic IP; см. статью Configurable Reverse DNS for Amazon EC2’s Elastic IP Addresses.
Сказано - сделано, начинаем. Впрочем, с установкой все и впрямь несложно:
$ sudo yum install sendmail
Нам понадобится еще один пакет, установим сразу также и его:
$ sudo yum install sendmail-cf
...иначе апофеозом настройки sendmail мы с вами рискуем получить сообщение следующего содержания:
$ make
WARNING: 'sendmail.mc' is modified. Please install package sendmail-cf to update your configuration.
make: *** [all] Ошибка 15
Ок; далее.
Теперь открываем
/etc/mail/local-host-names
в котором указываем:
mail.vash_domen.ru #MX-запись на ваших энэсах.
localhost
В файле
/etc/mail/sendmail.mc
меняем
dnl MASQUERADE_AS(mydomain.com')dnl
на
MASQUERADE_AS(vash_domen')dnl
Финальный аккорд - в каталоге /etc/mail/ наберите
$ sudo make
и назначьте для sendmail автостарт:
$ sudo systemctl enable sendmail.service
Уже можно попробовать отправить самому себе письмо из Joomla... если в ответ вы не получаете ничего, кроме
Could not execute: /usr/sbin/sendmail -t -i
- уместно посмотреть:
$ sestatus -b | grep -i sendmail
и, если в ответ меланхоличное
gitosis_can_sendmail off
httpd_can_sendmail off
logging_syslogd_can_sendmail off
а при выключенном selinux - setenforce 0 - отправка сообщений с сайта, тем не менее, прекрасно работает - у нас с вами остается последнее средство:
$ sudo setsebool -P httpd_can_sendmail 1
И теперь это действительно все.
Enjoy!