1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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
|