Шпаргалка по использованию команды mail в Linux
Jun 9, 2016 12:42 · 217 words · 2 minute read
Возможность отправлять сообщения электронной почты из командной строки сервера часто используется для тестирования, отправки писем скриптами (например, мониторинга) или при недоступности графической оболочки. Давайте разберемся с использованием и параметрами команды mail
!
Отправить письмо пользователю из командной строки можно так:
mail -s "Mail subject" to@example.com
ввести текст письма и нажать комбинацию клавиш “control-D” в начале новой строки.
Второй вариант отправки письма использует echo
для написания текста письма:
echo "Test of Mail body" | mail -s "Mail subject" to@example.com
Для отправки письма нескольким получателям достаточно перечислить их почтовые ящики через пробел:
echo "Test of Mail body" | mail -s "Mail subject" to@example.com recipient@example.com recipient2@gmail.com
Текст письма также можно вставить из файла:
cat mailbody.txt | mail -s "Mail subject" to@example.com
или:
mail -s "Mail subject" recipient@example.com < mailbody.txt
Отправлять копии писем можно с помощью опций -c
(CC - отправка копии письма) и -b
(BCC - отправка скрытой копии письма), например:
echo "Test of Mail body" | mail -s "Mail subject" to@example.com -c recipient@example.com -b recipient2@gmail.com
Указать почтовый адрес отправителя несложно, например в Debian/Ubuntu это выглядит так:
echo "Test of Mail body" | mail -s "Mail subject" to@example.com -aFrom:admin@example.com
Для Centos синтаксис несколько отличается:
echo "Test of Mail body" | mail -s "Mail subject" to@example.com -- -f admin@example.com
Отправить письмо с вложением можно так:
mail -a /opt/backup.sql -s "Fresh backup" to@example.com