При работе с командной строкой бывают случаи, когда вам может потребоваться вручную отправить электронное письмо, чтобы передать однострочную информацию, например сложную команду или важное примечание для себя или друга.. Обычно для этого требуется открыть веб-браузер, войти в свою учетную запись электронной почты, создать электронное письмо, содержащее необходимую информацию, а затем отправить его.
Это слишком долгий процесс для такой мелочи, не так ли? Что, если бы вы могли сделать это из самой командной строки? Да, это возможно, и у нас есть уже обсуждалось парочка способов сделать это в Linux. В этой статье мы обсудим еще три способа отправки электронной почты из командной строки в Linux.
Читайте также: 9 лучших почтовых клиентов для Linux
Отправить письмо
Sendmail, как вы, возможно, знаете, представляет собой классический SMTP-сервер из мира UNIX. Обычно он предустановлен во многих дистрибутивах Linux, но если в вашем компьютере Linux это не так, вы можете легко установить его из стандартных репозиториев. Например, пользователи систем на базе Debian, таких как Ubuntu, могут загрузить и установить его с помощью следующей команды:
sudo apt-get install mailutils
После установки вы можете легко и быстро отправить электронное письмо с помощью команды sendmail
. Вот пример:
echoContents
Отправить письмо
mail again"| sendmail [receivers-email-address]Приведенная выше команда отправляет электронное письмо, содержащее текст «Это снова тестовое электронное письмо», на адрес «[адрес электронной почты получателя]» (обязательно замените его, включая скобки, фактическим адресом электронной почты получателя].
Когда я использовал свой адрес электронной почты в приведенной выше команде, я получил следующее письмо:
Как и в моем случае, письмо может попасть в папку со спамом, поэтому обязательно проверьте ее.
Только что использованная нами команда содержала только тело письма. Вы также можете добавить дополнительную информацию, например тему, откуда и т. д. Например, следующая команда содержит эти дополнительные поля и может быть запущена как скрипт:
echo "From: [email protected] To: [email protected] Subject: Test HTML e-mail This is a test email."| sendmail -t
Вот снимок электронного письма, которое я получил при выполнении указанной выше команды:
Телнет
Вы также можете использовать команду Telnet для отправки электронного письма из командной строки. Для этого выполните следующие команды (обязательно замените «[адрес электронной почты отправителя]» и «[адрес электронной почты получателя]» адресами электронной почты отправителя и получателя соответственно):
telnet localhost smtp ehlo gmail.com mail from: [senders-email-address] rcpt to: [receivers-email-address] data
На этом этапе вы должны увидеть подсказку, в которой вам нужно ввести тело электронного письма и убедиться, что сообщение заканчивается новой строкой, за которой следует точка (.). После этого нажмите Enter, чтобы отправить электронное письмо, а затем введите quit
, чтобы выйти из приложения.
В моем случае я получил следующее электронное письмо:
Ссмтп
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 .
Когда я выполнил указанную выше команду, я получил следующее электронн
Ссмтп
Заключение
При этом мы обсудили в общей сложности 5 инструментов командной строки, которые вы можете использовать для отправки электронной почты из командной строки Linux. Здесь стоит упомянуть важный момент: помимо использования этих команд для отправки электронных писем вручную из командной строки, вы также можете использовать их для создания электронных писем с уведомлениями из сценариев.
Использовали ли вы когда-нибудь какой-либо из этих инструментов? Как прошел ваш опыт? Поделитесь своими мыслями в комментариях ниже.