Массовая рассылка из консоли с помощью mutt

от автора

Недавно я столкнулся с задачей: требовалось разослать тысячи писем с ссылкой на опрос всем студентам нашего университета.
Проблема массовой рассылки в том, что в поле СС виден весь список именной рассылки.
Я решил эту задачу через простой почтовый клиент mutt.

Mutt является текстовым почтовым клиентом для Unix-подобных систем. Первоначально он был написан Майклом Элкинсом в 1995 году и выпущен под лицензией GNU General Public License.


Прежде всего, в корневой папке юзера нужно создать файл конфигурации:

$ joe ~/.muttrc 

Тут мы объясним программе как нас зовут и какой адрес увидит получатель:

set realname="John Smith" set from="jsmith@whitehouse.gov" set use_from=yes

После этого нужно создать само письмо.

$ joe ~/body 

Само письмо, естественно, на html:

<!DOCTYPE html> <html> <head> <meta http-equiv=«Content-Type» content=«text/html; charset=utf-8»> </head> <body> <p><font color="#2E7BE4"><em><strong>Здравствуйте!</strong></em></font></p> <p align="justify">Здесь находится текст Вашего письма, <strong><font color="#CA9E64">при получении адресатом письма, данный участок текста будет коричневого цвета</font></strong>. При создании писем используйте стандартные HTML теги для корректного отображения элементов форматирования текста, при просмотре получателем, как с использованием веб-интерфейсов, так и с использованием почтовых сборщиков (Outlook, Thunderbird и т.п.).</p> <p>   <font color="#2E7BE4"><strong><i>С Уважением</i></strong><br>   </font> </p> </body> </html> 

Теперь нам нужен файл со списком рассылки, назовем его list.

$ joe ~/list 

email@mail.com email2@mail.com .....и т.д.

Примечательно, что список может быть любых размеров.

Теперь, когда все подготовленно, пора переходить к самой рассылке:

$ for I in `cat list`; do cat body | mutt -e "set content_type=text/html" -a "attachment.pdf" -s "Заголовок письма" -- $I < body;echo $I;sleep 3 ;done 

Этот простенький скрипт на языке bash посылает поочередно (for I in `cat list`; do cat body), на каждый адрес (— $I), раз в три секунды (sleep 3 — чтобы сервер не принял нас за спамеров) письмо (body) из списка (list) с вложенным нами файлом (attachment.pdf) и показывает результат работы (echo $I).

Команда «set content_type=text/html» говорит о том, что письмо нужно форматировать в html.

Вот и все, надеюсь мой опыт вам пригодится.

ссылка на оригинал статьи http://habrahabr.ru/post/183202/


Комментарии

Один комментарий на ««Массовая рассылка из консоли с помощью mutt»»

  1. Спасибо конечно за такую статью! но я предпочитаю использовать специально сделанный для этого сервис!) так намного легче и результат лучше)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *