Add Me!Закрыть меню навигации
Login
Добавь меня!Открытое Меню Категорий

[CookBook] sSMTP + Mutt

Расскажу о своем опыте отправки почты через сторонний smtp-сервер, например, гугловый

Так получилось, что мне нужно было отправлять почту в определенное рендомное время другому человеку, но меня достало каждый раз делать это вручную. Примочки для отправки почты по расписанию, основанные на ящике гугла мне не понравились ибо нужно было давать доступ к ящику. Понятно, что это должно быть безопасно, но все равно не хотелось. к тому же оно не работало так, как нужно.

Решил, что можно написать небольшую морду на php для создания сообщений с последующей отправкой по крону с помощью Swift Mailer, к примеру. Но писать это все не хотелось и через некоторое время гугления, мены выбросило на связку *nix+sSMTP+Mutt.

Итого. Что нужно.

Инсталлим mailx, sSMTP и Mutt:

$ sudo yum install -y mailx mutt ssmtp

Я расскажу в целом как оно работает. sSMTP — это некий провайдер для отправки почты. По умолчанию используется sendmail. Если же нужно реализовать отправку через сторонний smtp, то для этого можно использовать sSMTP. для этого изменяем конфигурационный файл sSMTP (/etc/ssmtp/ssmtp.conf): там прописываем smtp-сервер, логин, пароль, секьюрность канала, сертификат если нужно и прочее. далее, в настройках Mutt’a в качестве sendmail указываем наш sSMTP, но поскольку мне хотелось чтобы все работало как работало, но только для моей узкой задачи использовался sSMTP, то я делал по-другому. Я создал в директории юзераего личный конфиг для sSMTP. С помощью MuttBuilder сбилдил конфиг для Mutt’а, в котором прописал sendmail через sSMTP

set sendmail = '/usr/sbin/ssmtp -C /home/foouser/.ssmtp/ssmtp.conf'

и при отправке письма через Mutt я указывал нужный muttrc-файл

echo "ome text" | mutt -s "Some subject" -a "/path/to/attachment" -F /path/to/custom/muttrc -- recipient

Таким образом я выделил настройки sSMTP в отдельный файл и настройки Mutt’a так же в отдельный файл, а вся система работает как работала раньше.

Что же касается настройки sSMTP, то их можно найти, немного погуглив, но вот они:

root=reports@example.ru # от чьего имени шлем письма
mailhub=smtp.example.ru:465 # smtp-сервер и порт 
hostname=localhost # имя нашего хоста, желательно вписать верное 
UseTLS=Yes # используем зашифрованное соединение 
AuthUser=reports@example.ru # логин 
AuthPass=qwerty # пароль 
FromLineOverride=Yes # Поле From: может задавать mutt

Для GMail немного отличается

root=reports@gmail.com 
mailhub=smtp.gmail.com:587 
hostname=localhost 
UseSTARTTLS=YES 
AuthUser=reports@gmail.com 
AuthPass=qwerty

Настройки взяты отсюда: habr

Автор записи Мастер топоров

Календарь

Июль 2017
Пн Вт Ср Чт Пт Сб Вс
« Апр    
 12
3456789
10111213141516
17181920212223
24252627282930
31  
DeadLock