8. Настройка почтового сервера¶
Установка почтового сервиса в систему¶
Почтовый сервис mail требует, чтобы в системе были установлены сервисы LDAP и Unix, поэтому если они еще не были установлены установите их командой:
cl-setup ldap cl-setup unix
Установка почтового сервиса производится командой:
# установка сервиса с параметрами по умолчанию cl-setup mail
Для указания имени почтового хоста, отличного от используемого по умолчанию, служит параметр "--host":
# mymail.mydomain.com почтовый хост (не указывайте одно короткое имя, например: mymail) cl-setup --host mymail.mydomain.com mail
Использование протокола pop3 и/или imap управляется через параметр "--type":
# устанавливает сервис с поддержкой двух протоколов pop3 и imap с шифрованием TLS cl-setup --type imap,pop3 mail # устанавливает сервис с поддержкой только pop3 и шифрованием TLS cl-setup --type pop3 mail
Шифрование (или отмена его использования) указывается параметром "--crypt":
# будет использовано шифрование TLS, и по умолчанию будет использоваться только IMAP cl-setup --crypt tls mail # без шифрования, по умолчанию используется только IMAP cl-setup --crypt none mail
Если необходимо указать используемые протоколы и шифрование, выполним команду с параметрами следующего вида:
# без шифрования, поддержка imap и pop3 cl-setup --crypt none --type imap,pop3 mail
После выполнения команды cl-setup, с требуемым набором параметров - почтовый сервис конфигурируется и запускается. Результат можно проверить, посмотрев открытые порты:
> netstat -tln ... tcp 0 0 *:imaps *:* LISTEN tcp 0 0 *:pop3s *:* LISTEN tcp 0 0 *:smtp *:* LISTEN ...
Для предотвращения спама для системных почтовых пользователей /etc/mail/aliases не создается почтовая директория.
Для того чтобы получать письма посланные на адреса указанные в /etc/mail/aliases выполните следующие команды:
mkdir /var/calculate/server-data/mail/nobody chown nobody:nobody /var/calculate/server-data/mail/nobody chmod 0700 /var/calculate/server-data/mail/nobody
Письма для системных почтовых пользователей будут находится в /var/calculate/server-data/mail/nobody
Учетные записи¶
Учётная запись - это запись,которая содержит сведения, необходимые для идентификации пользователя при подключении к системе, информацию для авторизации и учёта. В данном случае для подключения к почтовому сервису или почтовому ящику.
Почтовый ящик - логически выделенная часть дискового пространства, предназначенная для хранения электронных почтовых сообщений, которая обозначается электронным почтовым адресом. Почтовый ящик может иметь несколько почтовых адресов, называемых синонимами почтового адреса (псевдонимами почтового адреса).
Управление учетными записями¶
Добавление учетных записей
Добавление учетной записи пользователя почтового сервиса производится командой cl-useradd:
cl-useradd -p -e <почтовый псевдоним один или несколько через запятую> <учетная запись> mail
# добавляем пользователя guest с псевдонимом для почты guestmail@mymail.mydomain.com cl-useradd -p -e guestmail@mymail.mydomain.com guest mail
Смена пароля
Для смены пароля учетной записи почтового сервиса используется команда cl-passwd:
cl-passwd guest mail
Удаление учетных записей
Удаление учетной записи пользователя почтового сервиса производится командой cl-userdel
cl-userdel guest mail
Почтовые группы¶
Почтовая группа — набор почтовых адресов, использующийся для рассылок почты нескольким корреспондентам. Письмо, отправленное на адрес группы, рассылается для всех почтовых учетных записей, входящим в эту группу.
Управление почтовыми группами¶
Добавление почтовой группы
Добавление почтовой группы производится командой cl-groupadd
# добавить почтовую группу guestgroup с альтернативным почтовым адресом gg@mydomain.com cl-groupadd -e gg@mydomain.com guestgroup mail
Удаление почтовой группы
Удаление почтовой группы производится командой cl-groupdel:
# удалить почтовую группу guestgroup cl-groupdel guestgroup mail
Добавление и удаление почтовых учетных записей в группу
Добавление и удаление учетных записей производится двумя способами:- с использованием команды cl-usermod
# добавить пользователя guest в группы guesttest и guestgroup cl-usermod -a guesttest,guestgroup guest mail # заменить пользователю guest группы на guesttest cl-usermod -G guesttest guest mail
- с использованием команды cl-groupmod
# удалить пользователей guest1 и guest2 из группы guesttest cl-groupmod -d guest1,guest2 guesttest mail # добавить пользователей guest1 и guest2 в группу guesttest cl-groupmod -a guest1,guest2 guesttest mail
Проверка работы сервера¶
Проверить работоспособность сервера можно при помощи программы telnet, при этом сервер должен быть сконфигурирован без шифрования ("--crypt none"). В конечном рабочем варианте, для безопасности, шифрование следует оставить включенным.- устанавливаем сервис
cl-setup --type imap,pop3 --crypt none mail
- добавляем пользователя guest
cl-useradd -p -e guest@mymail.mydomain.org guest mail
- вводим пароль
- запускаем telnet
> telnet
- подключаемся к smtp
> open localhost 25 Trying 127.0.0.1... Connected to mymail.mydomain.org. Escape character is '^]'. 220 mymail.mydomain.org ESMTP > EHLO "mymail" 250-mymail.mydomain.org 250-PIPELINING 250-SIZE 100000000 250-ETRN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN > MAIL FROM:<noname@mailer.org> 250 2.1.0 Ok > RCPT TO:<guest@mymail.mydomain.org> 250 2.1.5 Ok > DATA 354 End data with <CR><LF>.<CR><LF> > Hello > . 250 2.0.0 Ok: queued as D42932B91 > QUIT 221 2.0.0 Bye Connection closed by foreign host.
- теперь запускаем telnet и подключаемся по pop3
> telnet > open localhost 110 Trying 127.0.0.1... Connected to mymail.mydomain.org. Escape character is '^]'. +OK Dovecot ready. > USER guest +OK > PASS 111 +OK "Аутентифицироваться удалось" > LIST +OK 1 messages: "На сервере есть одно сообщение" 1 529 . QUIT +OK Logging out. Connection closed by foreign host.