Если ваш сервер использует сторонние сервера для отправки почты, для удобства пересылки можно воспользоваться клиентом mSMTP. Это довольно простой SMTP-клиент, который позволяет различным скриптам и приложениям на PHP, Python, и т.п. использовать отправку почты посредством стороннего сервера. В данной заметке посмотрим простой пример, установки и настройки клиента mSMTP.
Установка довольно проста, рассмотрим установку пакетов msmtp а так же ca-certificates для разных версий Linux.
Установка mSMTP на Arch Linux
# pacman -S msmtp ca-certificates
Установка mSMTP на Debian/Ubuntu Linux
# apt-get install msmtp ca-certificates
Установка mSMTP на Fedora/Rhel/CentOS Linux
# yum install msmtp ca-certificates
После установки пакетов вы можете приступить к настройке почтового клиента. Для настройки клиента, в домашней директории необходимо создать файл .msmtprc, в котором будут вписаны основные параметры конфигурации. Чтобы создать файл, вы можете воспользоваться встроенным редактором текста, в нашем примере это редактор VI.
Создаем файл конфигурации в домашней директории
# vim ~/.msmtmrc
Ниже опубликован пример конфигурации почтового клиента, который вы можете использовать у себя, внеся изменения для своего случая. Для наглядности, конфигурация указана для двух почтовых ящиков. Если у вас используется один почтовый ящик, вы можете исключить параметры default.
account default host smtp.gmail.com from email@youremailhost.com auth on port 587 user email@gmail.com password MySecret logfile ~/.msmtp.log tls on tls_starttls on tls_trust_file /etc/ssl/certs/ca-certificates.crt account custom tls off tls_starttls off host smtp.youremailhost.com from email@youremailhost.com auth yes port 25 user email@youremailhost.com passwordeval gpg -q --for-your-eyes-only --no-tty -d .mutt/.pass.gpg | awk '/email@youremailhost.com:/ {print $2}' logfile ~/.msmtp.log
Как уже говорилось ранее, в примере указана конфигурация для двух почтовых ящиков. Если вы обратите внимание на поле с паролем, то в конфигурации для первого почтового ящика используется пароль в обычном виде, который с легкостью можно прочитать. В настройках конфигурации для второго ящика пароль указан посредством параметра passwordeval, этот параметр сообщает msmtp необходимость считать пароль из файла gpg с кодировкой.
Ну что же, давайте теперь посмотрим, как легко проверить работоспособность почты посредством консоли сервера.
# echo -e "Subject: Test Mail\r\n\r\nThis is a test mail" |msmtp --debug --from=default -t username@gmail.com
Выполнив эту команду, указав вместо адреса username@gmail.com свой, должно отправиться письмо, таким образом, это означает, что всё работает. Кстати убедитесь в наличии необходимых прав у файла .msmtprc, этот момент так же может повлиять на работоспособность конфигурации.
Если не сработало, попробуйте выставить права на файл .msmtprc
# chmod 600 .msmtprc
Если у вас возникли какие-либо вопросы, вы можете задавать их в комментариях. Если вам понравился пост, вы можете поделиться им в социалках с друзьями. Спасибо, всем успехов в труде!
было
vim ~/.msmtmrc
должно быть
vim ~/.msmtprc