База знаний

www. IT-Mehanika .ru --  журнал доброго админа

Отправка электронного письма с вложением из командной строки в Ubuntu

Отправка электронного письма с вложением из командной строки в Ubuntu

 

Данная заметка не является статьей. Я ее рассматриваю как заметку для системных администраторов и Инженеров ИС.

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

На самом деле все очень просто и ничего тяжелого.

 

 

На сервере с которого мы хотим отправить письмо устанавливаем  - MUTT. Данная  утилита позволяет отправлять электронную почту в неинтерактивном режиме. Таким образом можно ее вызвать из shell сценария и она будет выполнять нашу задачу без дальнейшего вмешательства с какой либо стороны.

1) Устанавливаем mutt:

$ sudo aptitude install mutt

2) Удаляем мощный postfix, он нам не нужен для отправки сообщений:

$ sudo aptitude remove postfix

$ sudo aptitude clean postfix

3) Устанавливаем легенький MTA под названием MSMTP:

$ sudo aptitude install msmtp

4) Создаем локальный файл настройки (пример для gmail.com):

$ sudo mcedit ~/.msmtprc

account default

host smtp.gmail.com

port 587

auth on

tls on

tls_starttls on

tls_certcheck off

from Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.  << Выставляем кому мы будем отсылать письмо

user Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. << От кого будет послано письмо, соответственно этот аккаунт должен существовать на почтовом сервере

password PASSWORD << Вписываем пароль для пользователя -user- строчкой выше.

5) Ограничим права на ~/.msmtprc

$ chmod 600 ~/.msmtprc

6) Создадим символьную ссылку на msmtp, что бы не менять настройки в mutt

 

$ sudo ln -s /usr/bin/msmtp /usr/sbin/sendmail

 

7) Все настройка завершена, теперь можно попробовать отправить письмо:

$ sudo mutt -s "Subject for administrator" -a ATTACHED -- Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. < MESSAGE

где:

ATTACHED - полный путь к файлу который необходимо прикрепить к письму;

Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. - почтовый ящик на который мы будем отправлять письмо;

MESSAGE - полный путь к файлу где написано сообщение;

Вот и все настройки. Пожалуйста пользуйтесь.