diff options
Diffstat (limited to 'LINUX/MAILutils.md')
| -rw-r--r-- | LINUX/MAILutils.md | 104 |
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 + |
