summaryrefslogtreecommitdiff
path: root/LINUX/MAILutils.md
diff options
context:
space:
mode:
authorvlapa <vlapa@ya.ru>2026-06-13 20:33:26 +0300
committervlapa <vlapa@ya.ru>2026-06-13 20:33:26 +0300
commite5abc1fe99340b979b18864d978179f71fe8f5c5 (patch)
tree98fd0ad7c6d0744894d6e74e446daacd9e6dd1b5 /LINUX/MAILutils.md
First
Diffstat (limited to 'LINUX/MAILutils.md')
-rw-r--r--LINUX/MAILutils.md104
1 files changed, 104 insertions, 0 deletions
diff --git a/LINUX/MAILutils.md b/LINUX/MAILutils.md
new file mode 100644
index 0000000..029fd6c
--- /dev/null
+++ b/LINUX/MAILutils.md
@@ -0,0 +1,104 @@
+```sh
+sudo apt update && sudo apt upgrade -y
+sudo apt install postfix mailutils
+```
+### Настройка Postfix
+
+Данный раздел покажет, как настроить Postfix для отправки сообщений с сервера, на котором он установлен (то есть, с локального хоста).
+
+Для этого Postfix должен быть настроен на прослушивание только интерфейса внутренней петли (loopback interface) – это виртуальный сетевой интерфейс, который используется сервером для внутреннего взаимодействия. Откройте конфигурационный файл Postfix с помощью редактора nano:
+
+`sudo nano /etc/postfix/main.cf`
+
+Найдите в нем следующий блок кода:
+
+`mailbox_size_limit = 0
+`recipient_delimiter = +
+`inet_interfaces = all`
+
+Замените строку
+`inet_interfaces = all
+строкой
+`inet_interfaces = loopback-only
+Теперь этот блок выглядит так:
+
+`mailbox_size_limit = 0
+`recipient_delimiter = +
+`inet_interfaces = loopback-only`
+
+Вместо loopback-only можно также использовать localhost:
+
+`mailbox_size_limit = 0
+`recipient_delimiter = +
+`inet_interfaces = localhost`
+
+Завершив редактирование файла, сохраните изменения и закройте его (CTRL+X, затем Y и ENTER). После этого перезапустите Postfix:
+
+`sudo service postfix restart`
+`sudo systemctl restart postfix`
+
+### 1. Синтаксис
+
+(В ТЕМЕ И ТЕКСТЕ СООБЩЕНИЯ ИСПОЛЬЗОВАТЬ ТОЛЬКО ENG !!!)
+Можно отправить сообщение следующей командой:
+
+`echo "Test text" | mail -s "Test title" master@dmosk.ru
+
+_* в данном примере будет отправлено письмо на электронный адрес **master@dmosk.ru** с темой **Test title** и телом письма — **Test text**._
+
+Если при отправке возникли проблемы, можно проверить логи следующей командой:
+
+`tail /var/log/mail.log
+
+### 2. Отправка письма с вложением
+`echo 'Attachment' | mail -s 'Subject attachment message' -a /var/log/maillog -a /var/log/maillog2 master@dmosk.ru
+
+... или:
+
+`echo 'Attachment' | mail -s 'Subject attachment message' -A /var/log/maillog -A /var/log/maillog2 master@dmosk.ru
+
+_* где **/var/log/maillog** и **/var/log/maillog2** — файлы, которые будут прикреплены к письму. Обратите внимание, что обе команды отличаются по регистру опции **a** и **A** — все зависит от версии и сборки Linux (в каких-то нужно использовать маленькую, в каких-то — большую). Также обратите внимание, что в примере для Ubuntu мы отправим 2 файла — для этого просто добавляем к команде еще одну опцию прикрепления файла._
+
+### 3. Несколько получателей
+
+Для отправки письма нескольким получателям, просто перечисляем их через запятую:
+
+`echo "Test text" | mail -s "Test title" master@dmosk.ru,shmaster@dmosk.ru
+
+_* в данном примере мы отправил письмо на ящики **master@dmosk.ru** и **shmaster@dmosk.ru**._
+
+### 4. Отправка с копией
+
+Отправить копию на адрес master2@dmosk.ru:
+
+`echo "Test copy" | mail -s "Test copy title" master@dmosk.ru -c master2@dmosk.ru
+
+Отправить скрытую копию на адрес master3@dmosk.ru:
+
+`echo "Test hidden copy" | mail -s "Test hidden copy title" master@dmosk.ru -b master3@dmosk.ru
+
+### 5. Указать отправителя
+
+`echo "Test text" | mail -s "Test title" master@dmosk.ru -aFrom:postmaster@dmosk.ru
+
+### 6. Отправка через внешний SMTP сервер
+
+**а) Для Ubuntu / Debian:**
+
+`echo "Test text" | mail -s "Test title" -a "Smtp: smtp.mail.ru:25" -a "From: postmaster@dmosk.ru" -a "Return-path: postmaster@dmosk.ru" master@dmosk.ru
+
+Однако, если сторонний почтовый сервер работает по шифрованному каналу и требует аутентификацию, необходимо ввести следующее:
+
+`echo "Test text" | mail -v -s "Test title" -S smtp="smtp.dmosk.ru:587" -S smtp-use-starttls -S smtp-auth=login -S smtp-auth-user="master@dmosk.ru" -S smtp-auth-password="password" -S ssl-verify=ignore -S nss-config-dir=/etc/pki/nssdb -S from=postmaster@dmosk.ru master@dmosk.ru
+
+* где:
+
+- **smtp.dmosk.ru** — сервер smtp; 
+- **587** — порт для подключения к серверу отправки; 
+- **smtp-use-starttls** указывает на использование шифрования через TLS; 
+- **smtp-auth=login** задает аутентификацию с использованием логина и пароля; 
+- **smtp-auth-user** и **smtp-auth-password** — соответственно логин и пароль; 
+- **ssl-verify=ignore** отключает проверку подлинности сертификата безопасности; 
+- **nss-config-dir** указывает на каталог с базами nss; 
+- **from** задает поле FROM
+