Как отправить письмо из консоли используя sendmail


Отправить письмо из консоли используя sendmail для тестирования возможности отправки можно при помощи консольной утилиты mail.

Письмо отправляется следующим образом


mail [email protected] -s 'testing SPF' < /dev/null



По умолчанию в Debian данная утилита отсутствует, она есть в пакете mailutils, который устанавливается из стандартного репозитория

apt-get update

apt-get install mailutils



В CentOS есть утилита с именем mailx

yum install mailx



Отправить письмо из консоли с помощью утилиты mail


Сначала указывается адрес ящика на который отправляем письмо, затем тема в кавычках после -s (subject), после чего содержание письма. Можно отправить пустое письмо используя приведенную выше команду, можно вставать в качестве тела письма содержимое файла


mail [email protected] -s '123'< ./123.txt


Или вывести какую-либо строку в консоль, затем передать ее в mail

echo '123' |  mail [email protected] -s '123'


Пример приведен на скриншоте, отсутствие ошибок при отправке говорит о том что попытка отправки произведена.

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


Сообщения об успешности отправки следует искать в логе, стандартные пути /var/log/mail.log и /var/log/maillog в зависимости от дистрибутива.

tail /var/log/mail.log



По логу отправки писем можно найти конкретное письмо по адресу отправителя и времени отправки.



Если по какой-то причине письмо отправлено быть не может оно останется в очереди на сервере.

Отправить письмо из консоли не используя утилиты из пакета mailutils можно с помощью php скрипта



Рассмотренный способ отправки писем можно использовать не только для тестирования, но и в скриптах.

Утилита mail имеет множество ключей, ей можно передавать различные ключи чтобы передавать дополнительные заголовки. Например, адрес отправителя, адрес для ответа 'Reply-to'.

Сказать спасибо