Ubuntu 22.04.3 LTS – отправить почту mail.ru из терминала

Логотип Postfix

Ubuntu 22.04.3 LTS – отправить почту mail.ru из терминала можно по средствам комплекта Postfix + GNU Mailutils.

Нам понадобиться:
1. Включить возможность работы с внешними сервисами на mail.ru.
2. Пароль для приложений сгенерированный на mail.ru.
3. Postfix 3.6.4 — агент передачи почты.
4. GNU Mailutils 3.14 — набор ПО, состоящий из утилит, программ и библиотек для обработки электронной почты.

Немного теории — для отправки писем, заходим на страницу настроек mail.ru, в настройки – безопасность – включаем работу внешних сервисов и генерируем пароль для приложений. На нашей машине Ubuntu устанавливаем комплект Postfix + Mailutils, настраиваем авторизацию postfix, отправляем письма командой mail

Шаг 1 настраиваем наш ящик mail.ru
Заходим в настройки

Mail.ru настройки

Все настройки

Безопасность

Включаем внешние сервисы и генерируем пароль для внешних приложений

Шаг 2 устанавливаем требуемое ПО

sudo apt-get install postfix mailutils
Окно конфигурации Postfix, говорим Без настойки

Окно конфигурации Postfix, указываем Без настойки

Сохраняем SMTP имя и пароль пользователя почты, файл настройки sasl_passwd

nano /etc/postfix/sasl_passwd

указываем

[smtp.mail.ru]:587 mailbox@yourdomen.ru:your_app_password

ctrl+o потом ctrl+x

назначаем права вновь созданному файлу sasl_passwd где только владелец файла может читать/записывать

chmod 600 /etc/postfix/sasl_passwd

Создаем конфигурационный файл Postfix

nano /etc/postfix/main.cf

Куда в последствии вставляем следующие строки

relayhost = [smtp.mail.ru]:587

smtp_use_tls = yes

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

alias_maps = hash:/etc/aliases

Создаем файл-хэш базы данных sasl_passwd.db в каталоге /etc/postfix/ с помощью команды postmap. Этот файл используется для запросов Postfix.

postmap /etc/postfix/sasl_passwd

Перезапускаем сервис Postfix

systemctl restart postfix.service

Проверяем работу Postfix

sudo service postfix status

Производим пробную отправку письма на произвольный почтовый ящик

echo "Пробный текст в теле письма" | mail -s "Тема тестового сообщения" получатель@mail.ru -aFrom:mailbox@youdomen.ru

Если нужно прикрепить к пиьсу файл, до добавляем -A /путь к файлу/файл
echo "Пробный текст в теле письма" | mail -s "Тема тестового сообщения" -A /путь_к_файлу/файл получатель@mail.ru -aFrom:mailbox@youdomen.ru

На этом все.

Author: Виктор