В данной статье мы рассмотрим основные утилиты для отправки электронных писем по SMTP из консоли Linux – mail / mailx / mutt . Данная инструкция применима ко всем современным дистрибутивам Linux.
Для отправки почты из командной строки Linux вам нужно установить Mail User Agent, которые умеет подключаться к smtp серверам для отправки и получения почты.
В первую очередь рассмотрим утилиту mail ( mailx ). Для ее установки, выполните:
# sudo apt-get install mailutils
# dnf install mailx
Mailx содержит в себе несколько утилит для работы с почтой, мы же подробно остановимся на mail .
# yum install sendmail –y
Основные опции при отправке писем:
Чтобы отправить простое сообщение из консоли Linux, воспользуйтесь командой:
# echo "Это тестовое письмо" | mail -s "Проверка отправки почты" [email protected]
Проверьте, что письмо доставлено в ящик.
Если вам нужно посмотреть подробные логи отправки писем по SMTP, их можно посмотреть в файле:
# cat /var/log/maillog
Без указания дополнительных опций письмо отправляется с дефолтного почтового ящика и скорее всего будет помечено как спам в большинстве популярных почтовых сервисах.
Чтобы указать другого отправителя письма (mail from), используйте ключ -r :
# echo "Это тестовое письмо 2" | mail -s "Проверка отправки почты 2" -r [email protected] [email protected]
Если нужно отправить письмо нескольким получателям, перечислите их через запятую:
# echo "Это тестовое письмо 3" | mail -s "Проверка отправки почты 3" -r [email protected] [email protected] , [email protected]
Как видите, письмо было отправлено двум получателям. А с помощью ключа -c вы можете отправить копию письма на указанный ящик:
# echo "Это тестовое письмо 4" | mail -s "Проверка отправки почты 4" -r [email protected] -c [email protected]
Если вам нужно прикрепить к письму файл, укажите путь к файлу в параметре –a.
# echo "Файл во вложении" | mail -s "Проверка вложения" -a /root/test.txt -r [email protected] [email protected]
В указанных почтовый ящик должно прийти письмо с вложением. Если нужно отпрравить два или более файлов, добавьте каждый файл через собственный атрибут –a:
# echo "Вложены 2 файла " | mail -s "Вложение нескольких файлов " -a /root/test.txt -a /root/message.log -r [email protected] [email protected]
Вы можете отправить письмо через конкретный SMTP сервер. Его имя и порт подключения указываются в параметре -S smtp= :
# echo "Messages smtp server" | mail -s "Test smtp server" -S smtp="build-centos.ru:25" -r [email protected] [email protected]
Если удаленный SMTP сервер требует авторизации перед отправкой, вы можете указать имя пользователя и пароль с помощью параметров -S smtp-auth-user и -S smtp-auth-password .
# echo "Test auth mailbox" | mail -v -s "Test auth" -S smtp="build-centos.ru:25" -S smtp-auth=login -S smtp-auth-user=" [email protected] " -S smtp-auth-password="password" -S [email protected] [email protected]
При запуске этой команды перед вами появятся список SMTP команд для подключения, авторизации и отправки почты.
Если для отправки нужно использовать TLS шифрование и игнорировать проверку подлинности сертификата сервера, добавьте параметры:
-S smtp-use-starttls
-S ssl-verify=ignore
set smtp-use-starttls_x000D_set ssl-verify=ignore_x000D_set smtp=smtp://smtp.gmail.com:587_x000D_set smtp-auth=login_x000D_set [email protected]_x000D_set smtp-auth-password=sdf#23ddsH3sq9-_x000D_ set from= [email protected]
Теперь для отправки письма через релей Gmail с аутентификацией достаточно выполнить команду:
$ echo "Test mail " | mail -v -s "Testing gmail auth" [email protected]
Вы можете использовать команду отправки почты для в своих bash скриптом. Например, создайте следующий скрипт, которые будет отправлять вам информацию по свободному месту на дисках :
#!/bin/bash_x000D_du -h | mail -s "Server 1 disk usage" [email protected]
Добавьте этот скрипт в планировщик cron и вы будете регулярно получать письма с информацией о свободном месте на вашем сервере.
0 0 * * * /home/root/freespace.sh
Еще одна популярная утилита для отправки почты в Linux это mutt :
# sudo apt-get install mutt
— для Debian/Ubuntu
# yum install mutt -y
— для CentOS/Redhat
Синтаксис mutt такой же, как и у mail/ mailx:
# echo "Text messages mutt" | mutt -s "Test mutt" [email protected]
Таким образом, вы можете легко отправлять письма из командной строки, встраивать отправку email оповещений в свои bash скрипты или ватчдоги (удобно для контроля их выполнения).
Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…
Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…
Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…
The AC power adapter wattage and type cannot be determined — причины и решение При…
Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…
Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…