Отправка почты из командной строки Linux

Обновлено Обновлено: Опубликовано Опубликовано:

Термины по теме: SMTP, Linux, unix shell, Ubuntu, CentOS.

Для начала устанавливаем утилиту для отправки почты. В противном случае мы увидим ошибку mail: command not found.

В Debian / Ubuntu:

apt-get install mailutils

В CentOS / Red Hat:

yum install mailx

Теперь можно отправить сообщение следующей командой:

echo "Test text" | mail -s "Test title" master@dmosk.ru

* в данном примере будет отправлено письмо на электронный адрес master@dmosk.ru с темой Test title и телом письма — Test text.

Если при отправке возникли проблемы, можно проверить логи следующей командой:

tail /var/log/maillog

Другие полезные параметры отправки

Отправка письма с вложением

Устанавливаем следующий пакет.

На Debian / Ubuntu:

apt-get install sharutils

На CentOS / Red Hat:

yum install sharutils

Теперь отправляем письмо следующей командой:

echo 'Attachment' | uuencode /var/log/maillog amaillog | mail -s 'Subject attachment message' master@dmosk.ru

* где /var/log/maillog — файл, который будет прикреплен к письму; amaillog — название файла, который будет вложен.

Отправка с копией

Отправить копию на адрес master2@dmosk.ru:

echo "Test copy" | mail -s "Test copy title" master@dmosk.ru -c master2@dmosk.ru

Отправить скрытую копию на адрес master3@dmosk.ru:

echo "Test hidden copy" | mail -s "Test hidden copy title" master@dmosk.ru -b master3@dmosk.ru

Указать отправителя

В CentOS / Red Hat:

echo "Test text" | mail -s "Test title" -r postmaster@dmosk.ru master@dmosk.ru

В Debian / Ubuntu:

echo "Test text" | mail -s "Test title" master@dmosk.ru -aFrom:postmaster@dmosk.ru

Отправка через другой SMTP сервер

echo "Test text" | mail -s "Test title" -S smtp="smtp.mail.ru:25" master@dmosk.ru

Однако, если сторонний почтовый сервер работает по шифрованному каналу и требует аутентификацию, необходимо ввести следующее:

echo "Test text" | mail -v -s "Test title" -S smtp="smtp.dmosk.ru:587" -S smtp-use-starttls -S smtp-auth=login -S smtp-auth-user="master@dmosk.ru" -S smtp-auth-password="password" -S ssl-verify=ignore -S nss-config-dir=/etc/pki/nssdb -S from=postmaster@dmosk.ru master@dmosk.ru

* где smtp.dmosk.ru — сервер smtp; 587 — порт для подключения к серверу отправки; smtp-use-starttls указывает на использование шифрования через TLS; smtp-auth=login задает аутентификацию с использованием логина и пароля; smtp-auth-user и smtp-auth-password — соответственно логин и пароль; ssl-verify=ignore отключает проверку подлинности сертификата безопасности; nss-config-dir указывает на каталог с базами nss; from задает поле FROM

# Серверы # Почта # UNIX # Ubuntu # Linux # CentOS
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет