Как настроить почтовый агент для электронной почты командной строки – CloudSavvy IT

Прислать на электронную почту ваш сервер – это простой способ получать уведомления от bash-скриптов, приложений и заданий cron. Электронная почта командной строки работает так же, как и электронная почта, и ее легко настроить и использовать.

Как работает электронная почта командной строки?

Когда электронная почта распространяется по трубам Интернета, она обычно отправляется по протоколу Simple Mail Transfer Protocol или SMTP. Сервер, который обрабатывает отправку почты, называется SMTP-сервером, и многие бесплатные поставщики электронной почты (Gmail, Yahoo и т. Д.) Предоставляют SMTP-серверы бесплатно. Это отлично подходит для этого варианта использования, так как вам нужно будет только настроить приложение командной строки, которое выполняет отправку.

Это приложение называется агентом передачи почты (MTA) и обеспечивает связь с SMTP-сервером. Вам нужно будет аутентифицировать MTA с помощью SMTP-сервера, что обычно так же просто, как дать ему свой пароль или ключ. Затем MTA сможет действовать как вы и отправлять электронные письма с вашего аккаунта.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Если вы планируете отправлять электронные письма конечным пользователям, вам необходимо настроить дополнительную информацию у своего поставщика SMTP. Обычно это означает проверку вашего домена с помощью аутентификации DKIM и SPF, которая подтверждает, что вы являетесь владельцем домена и не подделывает свой адрес. Вы можете сделать это с помощью Gmail, но если вы отправляете много писем, вам следует использовать такое бизнес-решение, как Amazon SES,

Как установить и настроить Postfix

Самое простое решение для электронной почты из командной строки – использовать Postfix в качестве MTA, используя бесплатный SMTP-сервер, такой как Gmail. Скорость Gmail ограничена 100 сообщениями в день, что вполне достаточно для простых уведомлений по электронной почте. Если вам нужно больше, вы можете использовать Amazon SES или SendGrid, которые оба должны быть заменой SMTP-сервера Gmail в этом примере.

Postfix также может работать собственный SMTP-сервер, но это сложнее в настройке и менее совместимо с внешними получателями, если вы не настроите проверку домена.

Установите Postfix и libsasl2-modulesпакет для управления аутентификацией SMTP из диспетчера пакетов вашего дистрибутива. Для систем на основе Debian, таких как Ubuntu, это будет:

sudo apt-get install postfix libsasl2-modules

После установки Postfix вам будет предложено выполнить настройку. На первом экране выберите «Интернет-сайт», который настроит Postfix для использования SMTP.

В следующем запросе будет указано ваше доменное имя. Вам не нужно доменное имя, чтобы использовать Postfix, но вам нужно, чтобы ваши письма отправлялись с этого доменного имени. В этом примере, без указания имени домена, ваши электронные письма будут приходить с учетной записи Gmail, которую вы настроили для Postfix.

Далее вам нужно аутентифицировать Postfix. Вы может используйте пароль Gmail своей учетной записи, что хорошо, если вы создаете новую учетную запись только для Postfix, но если вы используете свою личную учетную запись, вы захотите создать пароль приложения, Таким образом, пароль может быть отозван в любое время. Обратите внимание, что для использования паролей приложения вам потребуется включить двухфакторную аутентификацию.

Postfix хранит данные аутентификации в /etc/postfix/sasl/sasl_passwd, Этот файл может отсутствовать по умолчанию, поэтому вам, возможно, придется создать его с touch, Откройте его и вставьте свою информацию в:

[smtp.gmail.com]:587 username@gmail.com:password

Это настраивает Postfix для использования SMTP-сервера Google и аутентификации с вашими данными.

Далее беги postmap на sasl_passwd:

sudo postmap /etc/postfix/sasl_passwd

Это создаст sasl_passwd.db файл, используемый Postfix. Оба этих файла хранят пароль вашего приложения в незашифрованном виде, поэтому вы можете ограничить их права root, запустив chown и chmod:

sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
sudo chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Postfix теперь должен быть готов к работе, но вам нужно будет сконфигурировать основной файл конфигурации Postfix для использования SMTP relay и ваших учетных данных SASL. Открыть /etc/postfix/main.cf в вашем любимом текстовом редакторе и найдите опцию «relayhost». Измените это, чтобы использовать SMTP-сервер Gmail:

relayhost = [smtp.gmail.com]:587

Затем в конце файла добавьте следующие строки для настройки SASL и используйте свой файл паролей.

# enable SASL authentication
smtp_sasl_auth_enable = yes
# disallow methods that allow anonymous authentication.
smtp_sasl_security_options = noanonymous
# where to find sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
# Enable STARTTLS encryption
smtp_use_tls = yes
# where to find CA certificates
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

Сохраните этот файл, затем перезапустите Postfix с помощью systemctl:

sudo systemctl restart postfix

Postfix теперь должен быть полностью настроен и установлен в вашей системе как обработчик почты по умолчанию. Вы можете проверить это, используя собственный Postfix sendmail команда:

sendmail recipient@gmail.com
FROM: youremail@gmail.com
SUBJECT: Hello from your server!
This is a test email sent from your server by Postfix.
.

Проверьте свой почтовый ящик (или исходящие), и вы должны увидеть новое письмо. Вы можете запустить sudo tail -f /var/log/mail.log (или mail.err) проверить почтовые логи.

Postfix настроит себя как почтовый обработчик вашего сервера по умолчанию. Любое приложение или программа, которым необходимо отправлять электронную почту, теперь должны использовать Postfix по умолчанию, например PHP (который использует Postfix sendmail). Некоторым может потребоваться дополнительная настройка, которая обычно просто говорит приложению использовать Postfix.

Если вы не хотите использовать sendmail (как это немного неуклюже) вы можете установить другой почтовый клиент. Хороший клиент mutt, который поддерживает отправку файлов в виде вложений и будет использовать Postfix по умолчанию. Синтаксис для простой отправки:

echo "email content" | mutt -s "email subject" recipient@gmail.com

А для прикрепления файлов вам нужно отделить -a пометить значения от получателя с двойной чертой «--«:

echo "email content" | mutt -s "email subject" -a /path/to/file -- recipient@gmail.com

Который будет отображаться в вашем почтовом ящике с вложенным файлом, при условии, что он не достигнет ограничений по размеру файла, установленных SMTP-сервером:

Какой бы почтовый клиент вы ни выбрали, любой из них должен использоваться в сценариях оболочки, заданиях cron и в любом другом месте, которое вы можете настроить для запуска команд Unix.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *