ГлавнаяОперационные системыLinux3 простых способа отправки электронной почты из командной строки в Linux

3 простых способа отправки электронной почты из командной строки в Linux

Логотип GmailПри работе с командной строкой бывают случаи, когда вам может потребоваться вручную отправить электронное письмо, чтобы передать однострочную информацию, например сложную команду или важное примечание для себя или друга.. Обычно для этого требуется открыть веб-браузер, войти в свою учетную запись электронной почты, создать электронное письмо, содержащее необходимую информацию, а затем отправить его.

Это слишком долгий процесс для такой мелочи, не так ли? Что, если бы вы могли сделать это из самой командной строки? Да, это возможно, и у нас есть уже обсуждалось парочка способов сделать это в Linux. В этой статье мы обсудим еще три способа отправки электронной почты из командной строки в Linux.

Читайте также: 9 лучших почтовых клиентов для Linux

Отправить письмо

Sendmail, как вы, возможно, знаете, представляет собой классический SMTP-сервер из мира UNIX. Обычно он предустановлен во многих дистрибутивах Linux, но если в вашем компьютере Linux это не так, вы можете легко установить его из стандартных репозиториев. Например, пользователи систем на базе Debian, таких как Ubuntu, могут загрузить и установить его с помощью следующей команды:

sudo apt-get install mailutils

После установки вы можете легко и быстро отправить электронное письмо с помощью команды sendmail. Вот пример:

Отправить письмо

mail again"| sendmail [receivers-email-address]

Приведенная выше команда отправляет электронное письмо, содержащее текст «Это снова тестовое электронное письмо», на адрес «[адрес электронной почты получателя]» (обязательно замените его, включая скобки, фактическим адресом электронной почты получателя].

Когда я использовал свой адрес электронной почты в приведенной выше команде, я получил следующее письмо:

sendmail-электронная почта

Как и в моем случае, письмо может попасть в папку со спамом, поэтому обязательно проверьте ее.

Только что использованная нами команда содержала только тело письма. Вы также можете добавить дополнительную информацию, например тему, откуда и т. д. Например, следующая команда содержит эти дополнительные поля и может быть запущена как скрипт:

echo "From: [email protected]
To: [email protected]
Subject: Test HTML e-mail
This is a test email."| sendmail -t

Вот снимок электронного письма, которое я получил при выполнении указанной выше команды:

sendmail-электронная почта-скрипт

Телнет

Вы также можете использовать команду Telnet для отправки электронного письма из командной строки. Для этого выполните следующие команды (обязательно замените «[адрес электронной почты отправителя]» и «[адрес электронной почты получателя]» адресами электронной почты отправителя и получателя соответственно):

telnet localhost smtp
ehlo gmail.com
mail from: [senders-email-address]
rcpt to: [receivers-email-address]
data

На этом этапе вы должны увидеть подсказку, в которой вам нужно ввести тело электронного письма и убедиться, что сообщение заканчивается новой строкой, за которой следует точка (.). После этого нажмите Enter, чтобы отправить электронное письмо, а затем введите quit, чтобы выйти из приложения.

В моем случае я получил следующее электронное письмо:

Telnet-электронная почта

Ссмтп

SSMTP — это инструмент, который доставляет электронную почту с локального компьютера на настроенный почтовый хост (mailhub). Пользователи Debian могут загрузить и установить программу, используя следующую команду:

sudo apt-get install ssmtp

После установки откройте файл /etc/ssmtp/ssmtp.confи отредактируйте его, чтобы убедиться, что он содержит следующую информацию:

mailhub=smtp.gmail.com:587
UseSTARTTLS=YES
AuthUser=[senders-email-address]
AuthPass=[senders-email-login-password]
TLS_CA_File=/etc/<

Телнет

/
tls/certs/ca-bundle.crt

Как всегда, обязательно замените «[адрес-электронной почты-отправителя]» и «[адрес-электронной почты-отправителя-пароль]» соответствующими значениями. Теперь, чтобы отправить электронное письмо с помощью ssmtp, используйте следующую команду:

ssmtp [receivers-email-address]
Subject: [subject-line-here]
[Body of email]

Еще раз замените «[адрес электронной почты получателей]», «[строка-темы]» и «[Тело письма]» соответствующими значениями и отправьте электронное письмо, нажав «Ctrl + D».

Если вы получили следующую ошибку:

ssmtp: Authorization failed (534 5.7.9 http://support.google.com/accounts/bin/answer.py?answer=185833 bk8sm8525341pad.28 - gsmtp)

то, скорее всего, это потому, что Gmail не считает ssmtpбезопасным приложением. Чтобы избавиться от этой ошибки, вам необходимо изменить определенный параметр в вашей учетной записи Gmail. Дополнительную информацию о том, как это сделать и о потенциальных рисках, см. в разделе Страница поддержки Google .

Когда я выполнил указанную выше команду, я получил следующее электронн

Ссмтп

ssmtp-электронная почта

Заключение

При этом мы обсудили в общей сложности 5 инструментов командной строки, которые вы можете использовать для отправки электронной почты из командной строки Linux. Здесь стоит упомянуть важный момент: помимо использования этих команд для отправки электронных писем вручную из командной строки, вы также можете использовать их для создания электронных писем с уведомлениями из сценариев.

Использовали ли вы когда-нибудь какой-либо из этих инструментов? Как прошел ваш опыт? Поделитесь своими мыслями в комментариях ниже.

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи