В этой статье дается краткое введение в SSMTP и шаги по его установке и использованию для отправки электронной почты с терминала Linux.
Знаете ли вы, что вы можете отправлять почту из командной строки Linux? Главный вопрос: зачем вам отправлять письма с терминала Linux?
Для этого могут быть разные причины. Предположим, у вас есть сервер Linux, который вам нужен для обеспечения безопасности. Вы используете Fail2Ban для предотвращения нежелательных входов в систему. С настройкой почты, он может автоматически отправлять вам электронные письма, если есть предупреждение. Это один из многих случаев, когда отправка почты из Linux может помочь вам.
Давайте посмотрим больше об отправке писем из командной строки Linux.
SMTP (Simple Mail Transfer Protocol) — это один из протоколов (набор правил и форматов для данных и связи), используемых при отправке и получении электронной почты. Хотя такие поставщики, как Outlook, Gmail обычно используют собственные протоколы, они предоставляют службы SMTP, чтобы пользователь мог получить доступ к своей электронной почте с любого клиента.
Необходимы две части программного обеспечения: SMTP-сервер (размещенный у поставщика электронной почты) и SMTP-клиент, который имеется в вашей системе.
SSMTP — одна из таких клиентских программ, которая может помочь вам отправлять электронные письма. Когда вы отправляете почту, ваш клиент пересылает ее на SMTP-сервер вашего поставщика, который затем отправляет ее поставщику электронной почты получателя. Наконец, он будет отправлен получателю.
Давайте начнем с SSMTP правильно.
Давайте посмотрим, как вы можете отправлять почту в командной строке Linux с помощью SSMTP.
SSMTP доступен в виде пакета в большинстве дистрибутивов Linux. Просмотрите repo вашего дистрибутива, чтобы в этом убедиться. В Ubuntu 18.04 вы можете установить SSMTP следующим образом:
sudo apt install ssmtp
После того, как это сделано, нам нужно настроить SSMTP.
Так как в этой статье основное внимание уделяется отправке почты, мы придерживаемся базовой настройки SSMTP. Вы можете использовать это только для отправки почты. Каждый пользователь должен указать адрес электронной почты и пароль каждый раз, когда они отправляют почту. Предположим, все используют один и тот же SMTP-сервер.
Некоторые другие статьи, которые вы можете найти в Интернете, помогут вам сохранить имя пользователя и пароль в файле конфигурации (/etc/ssmtp/ssmtp.conf). Это позволит всем пользователям отправлять электронную почту, используя учетные данные в конфигурации, не заставляя каждого пользователя иметь свою электронную почту и пароль.
«Мы советует вам не выполнять такую настройку, если вы не уверены».
Вам нужно отредактировать файл conf:
sudo gedit /etc/ssmtp/ssmtp.conf
Если вы знакомы с редакторами командной строки, такими как Nano, Vim, Emacs и другими, не стесняйтесь использовать их. Добавьте файл или замените все содержимое файла следующим текстом:
mailhub=smtp.gmail.com:587 UseTLS=YES UseSTARTTLS=YES
Даже если вы удалите всю конфигурацию и замените ее только приведенным выше фрагментом, она должна работать отлично. Если нет, сообщите нам в комментариях.
Если вы используете какого-либо другого поставщика электронной почты, замените mailhub в приведенном выше фрагменте соответствующим значением server: port. Если вы столкнулись с трудностями, обязательно сообщите нам об этом в комментариях.
Давайте создадим сообщение, которое нужно отправить в файл с именем mail.txt.
To: andreyex@andreyex.ru Subject: Linux лучший Linux выдержал испытание временем. Мы благодарим всех, кто когда-либо вносил свой вклад, защищал, использовал или делал что-либо, что сделало Linux сейчас. Спасибо и с уважением, Люди Linux
Для того, чтобы отправить это письмо, вам необходимо использовать формат следующим образом.
ssmtp -au EMAIL_ADDRESS -ap EMAIL_PASSWORD andreyex@andreyex.ru < mail.txt
Замените значения EMAIL_ADDRESS, EMAIL_PASSWORD. Вы можете заметить еще почту andreyex@andreyex.ru, которая упоминается как в сообщении, так и в команде.
Мы надеемся, что вы нашли эту статью полезной. Если вам понравилось, пожалуйста, поделитесь им в социальных сетях. Если у вас есть предложения, дайте нам знать в комментариях.
deadletter!!!!!!!!!!!!!! не работает!!!!!!!!!
гавно! не пашет нихрена
Для тех, у кого не работает, попробуйте заменить порт гугла на новый — 465 вместо 587.