Шпаргалка по использованию команды mail в Linux

Jun 9, 2016 12:42 · 217 words · 2 minute read mail

Возможность отправлять сообщения электронной почты из командной строки сервера часто используется для тестирования, отправки писем скриптами (например, мониторинга) или при недоступности графической оболочки. Давайте разберемся с использованием и параметрами команды 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
tweet Share