МАССОВАЯ РАССЫЛКА HTML ПИСЕМ ИЗ КОНСОЛИ С ПОМОЩЬЮ MUTT

Итак, для если вы хотите массово рассылать html письма — выбираем mutt!!!


Как обычно — в Linux всё делается просто и красиво — обожаю ubuntu.

Рассмотрим массовую (в gmail бесплатно вроде не более 300 в сутки) рассылку почты от аккаунта gmail.com, так, что бы в пришедшем адресату письме не отображался список рассылки, и письмо не блокировалось почтовиком адресата из-за этой самой рассылки, остальные почтовики тоже не должны вызвать каких-то затруднений.

Нам понадобится msmtp — SMTP-клиент, который может использоваться как SMTP plugin для Mutt и других MUA и соответственно сам mutt -почтовый клиент с текстовым интерфейсом для Unix-подобных операционных систем.

Устанавливаем mutt и msmtp

sudo apt-get install mutt msmtp msmtp-mta

Настройка msmtp и mutt сводится к созданию в домашней директории 2-х файлов: .msmtprc и .muttrc, c опциями подключения и данными для авторизации следующего содержания:
Создаем второй файл в корневой папке — .msmtprc

nano .msmtprc
account default
host smtp.gmail.com
port 587
protocol smtp
auth on
from test@gmail.com
user test@gmail.com
password pAsSwOrD
tls on
tls_starttls on
tls_certcheck off
logfile /var/mutt/msmtp.log

Создаем второй файл в корневой папке — .muttrc

nano .muttrc
set realname='test'
set from=test@gmail.com
set sendmail="/usr/bin/msmtp"
set envelope_from=yes
set folder=/var/mutt/mail
set copy=yes
set record=/var/mutt/mail/sended
mailboxes 'echo /var/mutt/mail/*'

Вместо test@gmail.com, напишите свою почту gmail, вместо pAsSwOrD — пароль.
Создадим необходимые папки для хранения логов отправки почты и самих отправленных писем

mkdir -p /var/mutt/mail/sended

Затем применяем права, иначе mutt нам не разрешить отправку

chmod 600 .msmtprc

Далее создаём в домашней папке  в ней создаём файл adresa со списком e-mail адресов, по одному адресу на строку и текстовый файл text с текстом рассылки. В файл текст вставляем 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>

В эту же папку кладем файл для аттача — attach.pdf если таковой нужен.Ещё я использую оповещение  notify-send об окончании рассылки, добавив в концу скрипта строку:

Теперь сам cкрипт рассылки, я назвал его send2.sh ( не забываем сделать его исполняемым).

Скачать его можно тут.

 #! /bin/bash
for I in `cat adresa`; do cat text |
mutt -e "set content_type=text/html" -a "attach.pdf" -s "Информационное письмо" -- $I < text;echo $I;sleep 61 ;done
notify-send -u normal -i baobab РАССЫЛКА -t 0 Рассылка\ закончена.\ Проверьте\ log.txt
done
Далее делаем скрипт исполняемым:
sudo chmod u+x script2.sh
Если будете использовать gmail для рассылки не забудьте разрешить gmail другие приложения. Это делается здесь.
разрешить_google_отправку_почты
Запускаем рассылку — открываем терминал в той папке, куда вы сохранили все файлы — adresa,text,attach.pdf и выполняем:
./script2.sh

массовая рассылка

 


Вот такУлыбаюсь Profit!! Останется выбрать почту, которая не будет блокироваться при массовой рассылке.

Так же нашел в интернете один мануал, тоже с Mutt.

1) ставим

msmtp

(это самая простая программа для отправки писем)
2) создаём конфиг в дом. каталоге (Важно! только идиоты работают с правами рута)

$ cat ~/.msmtprc
account default
host smtp.mail.ru
port 587
auth login
tls off
tls_starttls off
tls_certcheck off
from admin@itc-life.ru
user admin@itc-life.ru
password пароль
logfile ~/.msmtp.log

конечно хоты, адреса и аутентификацию нужно поменять как у вас.
3) создаём список жертв:

вася@mail.ru
петя@mail.ru

(важно! список должен заканчиваться переводом строки)
файл spam-adr.txt
4) создаём скрипт

$ cat send-spam
#!/bin/sh
cat >message <<EOF
Subject: This is SPAM!
From: СППФ!
To: recipient
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
SPAM — very best!
please report to itc-life.ru
EOF
while read address
do
echo «Send spam message to $address…»
msmtp $address <message
err=$?
if [ $err != 0 ]; then
echo «Error. Terminated whith code $err»
exit $err
fi
done <spam-adr.txt
echo «All spam send!»

ВСЁ.

Ниже для общего развития параметры mutt, если вы используете mutt как сервер почты, а не юзаете smtp.

    set folder=/home/user_name/Mail # каталог для почты
        set arrow_cursor                # курсор в виде '->'
        set attribution="%d, %n написал:"
                                # начало письма при ответе
        set charset="koi8-r"            # кодировка терминала
        set copy=yes                    # сохранять копии исходящих писем
        set edit_headers                # редактировать заголовки при создании письма
        set editor="vim"                # редактор писем
        set folder_format="%t%N %-30.30f %8s"
                                # вид списка папок
        set index_format="%4C %Z %{%b %d} %-31.31F %N (%4c) %s"
                                        # вид списков писем
        set mailcap_path="/home/user_name/.mailcap"
                                        # путь к .mailcap
        set menu_scroll                 # прокручивать список писем по 1 строке
        set mail_check=5                # интервал проверки почты
        set mbox=+mbox                  # файл для хранения прочитанных сообщений
        set mime_forward=ask-no         # запрашивать вид пересылаемого письма
        set postponed=+drafts           # черновики
        set print=ask-yes               # запрос перед печатью файла
        set print_command=lpr           # команда печати
        set record=+sent                # куда сохранять отправленные письма
        set signature="~/.signature"    # файл с подписью к сообщениям
        set show_alt                    # y/n вместо д/н
        set pager_stop                  # в конце письма не переходить на следующее
        set send_charset="us-ascii:iso-8859-1:koi8-r:windows-1251:utf-8"
                                        # кодировка отправляемых писем
        #
        # сортировка писем при просмотре
        set sort=threads
        set sort_aux=reverse-date-received
        set sort_browser=reverse-date
        #
        set spoolfile='/var/spool/mail/user_name'
                                        # путь к спулу почты
        #
        set from="Your Name <user_name@host.domain.>"
                                        # поле From заголовка отправляемых писем
        #
        # файлы c почтой
        mailboxes 'echo /home/user_name/Mail/*'
        #
        # если вы подписаны на mailing-list'ы укажите здесь адреса
        subscribe zopyrus@itconnection.ru

One thought on “МАССОВАЯ РАССЫЛКА HTML ПИСЕМ ИЗ КОНСОЛИ С ПОМОЩЬЮ MUTT

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

Войти с помощью: 

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