Dovecot
Homepage: Dovecot
Ниже настройка Dovecot версии 2.0.19 работающей с Тестирование отправки электронной почты Postfix.
Dovecot - свободный Как использовать IMAP (Internet Mail Access Protocol) протокол доступа к почте интернет - и POP (Post Office Protocol) -сервер, разрабатываемый в расчёте на безопасность, гибкость настройки и быстродействие.
# aptitude install dovecot-core dovecot-imapd
- Утилита doveconf служит для настройки Dovecot, запущенная без параметров выводит все настройки, если использовать ключ -n (или ) будут выведены только измененные нами настройки.
- Утилита doveadm
- Перезапуск
# service dovecot restart
dovecot.conf
- dovecot.conf
# Enable installed protocols #protocols = imap !include_try /usr/share/dovecot/protocols.d/*.protocol listen = * base_dir = /var/run/dovecot/ instance_name = dovecot login_greeting = Dovecot ready. shutdown_clients = yes doveadm_socket_path = doveadm-server !include conf.d/*.conf
10-logging.conf
Настройка лог файлов Dovecot производится в файле conf.d/10-logging.conf. По умолчанию используется Использование syslog. Выведем сообщения в отдельный файл и настроим ротацию (Описание и примеры настройки ротации логов logrotate) лог- файлов
- conf.d/10-logging.conf
#log_path = syslog log_path = /var/log/dovecot.log debug_log_path = /var/log/dovecot-debug.log ## Logging verbosity and debugging. auth_verbose = yes auth_verbose_passwords = no auth_debug = yes auth_debug_passwords = yes mail_debug = yes verbose_ssl = yes
- /etc/logrotate.d/dovecot
/var/log/dovecot*.log { rotate 8 missingok notifempty delaycompress sharedscripts postrotate doveadm log reopen endscript }
10-auth.conf
- conf.d/10-auth.conf
# выставлять no только для тестов SMTP AUTH без использования TLS, в остальных случаях yes disable_plaintext_auth = yes auth_mechanisms = plain login #auth_mechanisms = plain login cram-md5 digest-md5 !include auth-passwdfile.conf.ext
10-mail.conf
- conf.d/10-mail.conf
# %u - username # %n - user part in user@domain, same as %u if there's no domain # %d - domain part in user@domain, empty if there's no domain # %h - home directory # mail_location = maildir:/home/vmail/%d/%n mail_uid = 107 mail_gid = 115 first_valid_uid = 107 last_valid_uid = 109
10-master.conf
- conf.d/10-master.conf
#default_process_limit = 100 #default_client_limit = 1000 #default_vsz_limit = 256M #default_login_user = dovenull #default_internal_user = dovecot service imap-login { inet_listener imap { #port = 143 } inet_listener imaps { #port = 993 #ssl = yes } } service auth { # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0666 } # Auth process is run as this user. user = postfix group = postfix }
auth-passwdfile.conf.ext
Настроем файл auth-passwdfile.conf.ext, в котором укажем, что имена и пароли пользователей, требующих SMTP AUTH, должны храниться в файле /etc/dovecot/users.
Записи в файле /etc/dovecot/users должны храниться в формате
user:password:uid:gid:(gecos):home:(shell):extra_fields
Поле user в виде user@domain, а поле password шифроваться при помощи SHA256-CRYPT
- conf.d/auth-passwdfile.conf.ext
passdb { driver = passwd-file args = scheme=SHA256-CRYPT username_format=%u /etc/dovecot/users } userdb { driver = passwd-file args = username_format=%u /etc/dovecot/users }
Создадим хеш для поля password используя тестового пользователя user1@example.com с паролем 12345:
# doveadm pw -s SHA256-CRYPT -u user1@example.com -p 12345 {SHA256-CRYPT}$5$/y05qudkNwZipDS8$qur95mpxvQM6jneu5BnWeX8pzocdUMWCDkZn0mEca9C
Добавим полную запись в /etc/dovecot/users:
user1@example.com:{SHA256-CRYPT}$5$/y05qudkNwZipDS8$qur95mpxvQM6jneu5BnWeX8pzocdUMWCDkZn0mEca9C:postfix:postfix
Протестируем полученную запись для SMTP и IMAP при помощи утилиты doveadm
# doveadm auth -x service=smtp -x rip=192.0.2.143 user1@example.com 12345 passdb: user1@example.com auth succeeded extra fields: user=user1@example.com
Скрипт создания пользователя
Bash скрипт для добавления нового пользователя в Dovecot SASL
- users_pw.sh
#!/bin/bash FUSERS='/etc/dovecot/users' echo -n 'Please enter username: ' read USER1=$REPLY HP2=`/usr/bin/doveadm pw -s SHA256-CRYPT -u $USER1` USERADD="$USER1:$HP2::postfix:postfix" echo $USERADD >> $FUSERS echo -n $USERADD echo -e "\n\nDONE\n"
Dovecot и MySQL
10-auth.conf
- conf.d/10-auth.conf
# выставлять no только для тестов SMTP AUTH без использования TLS, в остальных случаях yes disable_plaintext_auth = yes auth_mechanisms = plain login #auth_mechanisms = plain login cram-md5 digest-md5 !include auth-sql.conf.ext
dovecot-sql.conf.ext
- dovecot-sql.conf.ext
driver = mysql connect = host=127.0.0.1 dbname=postfixadmin user=postfix password=yourpassword default_pass_scheme = MD5-CRYPT user_query = SELECT '/var/vmail/%d/%u' as home,'maildir:/var/vmail/%d/%u'as mail, 1001 AS uid, 1001 AS gid FROM mailbox WHERE username = '%u' AND active = '1' password_query = SELECT username as user, password, '/var/vmail/%d/%u' AS userdb_home, 'maildir:/var/vmail/%d/%u' as userdb_mail, 1001 as userdb_uid, 1001 as userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'
Ссылки
- HowTo Postfix and Dovecot 2 SASL + Using SASL with Postfix submission port
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах