5 способов отправить электронную почту через консоль в Linux

Автор | 06.12.2016

В этой статье рассматривается 5 способов отправки электронной почты через консоль.

1. Отправка почты через Sendmail

Этот способ является одним из самых популярных. Создадим тестовый файл такого содержания:

[test@test ~]# cat /tmp/test.txt

Subject: Test Email

Test

Test

Теперь отправим письмо:

[test@test ~]# sendmail test@test.ru < /tmp/test.txt

Замечание:

Если письмо не пришло, то смотрите в Спаме.

Что же касается почтового сервера iRedMail, то надо смотреть логи. Если название хоста (hostname) не совпадает с IP в DNS записях куда обращается почтовый сервер, то письмо будет удалено.

2. Использование команды mail

Для отправки письма достаточно выполнить команду:

[test@test ~]# mail -s «Test Subject» test@test.ru < /dev/null

, где ключ -s задает тему письма.

Для приложения файла к письму нужно выполнить такую команду:

[test@test ~]# mail -a /tmp/test.txt -s «Test File» test@test.ru < /dev/null

, где ключ -a задает приложение к письму.

Для того что бы отправить нескольким адресатам, их адреса нужно писать через запятую:

[test@test ~]# mail -s «Test Email» test1@test.ru,test2@test.ru < /dev/null

3. Использование команды mutt

В большинстве случаев команда используется для чтения писем, но с помощью нее можно и отправить письмо. Синтаксис утилит mutt и mail очень схож. Приведем пару примеров:

[test@test ~]# mutt -s «Test Subject» test@test.ru < /dev/null
[test@test ~]# mutt -a /tmp/test.txt -s «Test File» test@test.ru < /dev/null

4. Использование команды SSMTP

Для примера отправим письмо на адрес test@test.ru. Для того что бы утилита отправила письмо при наборе тела письма нужно нажать сочетание  CTRL+d (^d).

# ssmtp test@test.com
Subject: Test SSMTP Email
Email send test using SSMTP
via SMTP server.
^d

5. Использование команды telnel

Весьма экстравагантный метод отправки писем, но имеет право на существование.

# telnet localhost smtp

Trying 127.0.0.1…
Connected to test.test (127.0.0.1).
Escape character is ‘^]’.
220 fbreveal.com ESMTP Sendmail 8.13.8/8.13.8; Tue, 22 Oct 2016 10:12:22 -0400
HELO yahoo.com
250 test.ru Hello test.ru [127.0.0.1], pleased to meet you
mail from: test@test.ru
250 2.1.0test@test.ru… Sender ok
rcpt to: test1@test.ru
250 2.1.5 test1@test.ru… Recipient ok
data
354 Enter mail, end with «.» on a line by itself
Hey
This is test email only

Thanks
.
250 2.0.0 r9M95xgc014513 Message accepted for delivery
quit
221 2.0.0 fbreveal.com closing connection
Connection closed by foreign host.

 

 

 

Пожалуй хватит.