Отправка электронной почты с помощью Bash и SSMTP

SSMTP — это инструмент, который доставляет электронную почту с компьютера или сервера на настроенный почтовый хост.

SSMTP сам по себе не является сервером электронной почты, не принимает электронные письма и не управляет очередью.

Одно из его основных применений — пересылка автоматической электронной почты (например, системных предупреждений) с вашего компьютера на внешний адрес электронной почты.

Предварительные условия

Для успешного завершения этого урока вам понадобятся следующие вещи:

  • Доступ к серверу Ubuntu 18.04 от имени пользователя без полномочий root с привилегиями sudo и активным брандмауэром, установленным на вашем сервере. Чтобы настроить их, обратитесь к нашему Руководству по первоначальной настройке сервера для Ubuntu 18.04.

  • SMTP-сервер вместе с именем пользователя и паролем SMTP. Это также будет работать с SMTP-сервером Gmail, или вы можете настроить свой собственный SMTP-сервер, выполнив действия, описанные в этом руководстве «Как установить и настроить Postfix в качестве SMTP-сервера только для отправки» на Убунту 16.04

Установка SSMTP

Чтобы установить SSMTP, вам необходимо сначала обновить кэш apt с помощью:

sudo apt update

Затем выполните следующую команду для установки SSMTP:

sudo apt install ssmtp

Еще одна вещь, которую вам нужно будет установить mailutils, — это выполнить следующую команду:

sudo apt install mailutils

Настройка SSMTP

Теперь, когда вы ssmtpустановили, чтобы настроить его для использования вашего SMTP-сервера при отправке электронной почты, вам необходимо отредактировать файл конфигурации SSMTP.

Откройте файл с помощью вашего любимого текстового редактора /etc/ssmtp/ssmtp.conf:

sudo nano /etc/ssmtp/ssmtp.conf

Вам необходимо включить конфигурацию SMTP:

root=postmaster
mailhub=<^>your_smtp_host.com<^>:587
hostname=<^>your_hostname<^>
AuthUser=<^>your_gmail_username@your_smtp_host.com<^>
AuthPass=<^>your_gmail_password<^>
FromLineOverride=YES
UseSTARTTLS=YES

Сохраните файл и выйдите.

Отправка электронной почты с помощью SSMTP

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

echo "<^>Here add your email body<^>" | mail -s "<^>Here specify your email subject<^>" <^>[email protected]<^>

Вы можете запустить это прямо в своем терминале или включить в свои сценарии bash.

Отправка файла с помощью SSMTP (необязательно)

Если вам нужно отправить файлы в виде вложений, вы можете использовать расширение mpack.

Для установки mpackвыполните следующую команду:

sudo apt install mpack

Затем, чтобы отправить электронное письмо с вложенным файлом, выполните следующую команду.

mpack -s "<^>Your Subject here<^>" your_file.zip <^>[email protected]<^>

Приведенная выше команда отправит электронное письмо <^>[email protected]<^>с <^>your_file.zip<^>вложенным файлом.

Заключение

SSMTP — отличный и надежный способ реализовать функции электронной почты SMTP непосредственно в сценариях bash.

Для получения дополнительной информации о SSMTP я бы рекомендовал проверить официальную документацию здесь .

Last updated