Настройка почтовой связки Postfix+Dovecot+Mysql+Squirrelmail+SSL

Обновил статью 27.10.2009

Всё ниже сказанное проводилось на FreeBSD 7.2

1) Установка

Начнём с установки postfix’a. Обновляем порты и переходим в каталог с postfix:

#cd /usr/ports/mail/postfix && make install clean

Вылазит окошко, в котором выбираем

PCRE      Perl Compatible Regular Expressions
DOVECOT   Dovecot SASL authentication method
TLS       Enable SSL and TLS support
MYSQL     MySQL maps (choose version with WITH_MYSQL_VER)

Он за собой потянет dovecot, в котором выберем следующее

KQUEUE       kqueue(2) support
SSL          SSL support
POP3         POP3 support
LDA          LDA support
MYSQL        MySQL support

«За компанию поставится» mysql-50-client. Ну что ж староват (уже есть 5.1) Тут поступаем по своему рассуждению. Ставим серверную часть. После установки всего этого переходим к настройке.

2) Генерация серфиката SSL.

Генерируем сертификат (будут задаваться вопросы, отвечайте 🙂 ):

#cd /etc/ssl
#openssl req -new -x509 -nodes -out smtpd.pem -keyout smtpd.pem -days 100000

3) Настройка postfix’a

Переходим в каталог /usr/local/etc/postrfix. Здесь лежат конфигурационные файлы. Нам нужны 2, точнее 1. Это main.cf. Его нужно привести к такому виду (напомню, что виртуальными считаются не системные юзеры, собственно, которых будем потом заводить. Пользователей мы будем хранить в БД Mysql.):

Внимание!!! Не ставьте комментарии посредине строки!!! Иначе будете получать ошибку:

May 14 21:34:31 mail-bsd postfix/smtpd[85652]: fatal: open dictionary: expecting   «type:name» form instead of «#»

queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix
mail_owner = postfix
myhostname = srv-test.domain.tld
mydomain = domain.tld
myorigin = $myhostname
inet_interfaces = all
mydestination = $myhostname, mysql:/usr/local/etc/postfix/mysql/mydestination.cf
local_recipient_maps = unix:passwd.byname $alias_maps $virtual_mailbox_maps
unknown_local_recipient_reject_code = 550
mynetworks_style = subnet
mynetworks = 10.0.0.0/8, 127.0.0.0/8
relayhost = $mydomain
alias_maps = hash:/etc/mail/aliases
# для виртуальных рассылок, алиасов:
virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql/virtual.cf
alias_database = hash:/etc/mail/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
setgid_group = maildrop
html_directory = no
manpage_directory = /usr/local/man
sample_directory = /usr/local/etc/postfix
readme_directory = no
#описание различных ограничений на приём, отправку.
#сюда можно вставлять проверки в блэклистах
smtpd_client_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_pipelining,
permit
smtpd_helo_restrictions =
permit
smtpd_sender_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject_unverified_sender,
permit
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_recipient,
reject_unauth_destination,
reject_unknown_recipient_domain,
reject_unverified_recipient,
permit
smtpd_data_restrictions =
permit
smtpd_end_of_data_restrictions =
permit
smtpd_etrn_restrictions =
permit
transport_maps = mysql:/usr/local/etc/postfix/mysql/transport.cf
#здесь описание для виртуальных юзеров (то есть не системных)
virtual_maps = mysql:/usr/local/etc/postfix/mysql/virtual.cf
# здесь будем хранить почту:
virtual_mailbox_base = /var/spool/vmail
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql/virtual_mailbox.cf
virtual_uid_maps = mysql:/usr/local/etc/postfix/mysql/virtual_uid.cf
virtual_gid_maps = mysql:/usr/local/etc/postfix/mysql/virtual_gid.cf
virtual_minimum_uid = 990
virtual_mailbox_limit_maps=mysql:/usr/local/etc/postfix/mysql/virtual_mailbox_limit.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user's maildir has no space available in their inbox.
virtual_overquota_bounce = yes
#секция, отвечающая за авторизацию:
#мы будем авторизироваться через dovecot
smtpd_sasl_auth_enable = yes
smtpd_sasl_application_name = smtpd
smtpd_sasl_local_domain = srv-test.domain.tld
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = /var/run/dovecot/auth-client
broken_sasl_auth_clients = yes
# секция, отвечающая за сертификаты. если у вас возникли
#проблемы с ним, то первые 2 строчки поставьте в no,
#остальные - заккоментируйте.
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/ssl/smtpd.pem
smtpd_tls_cert_file = /etc/ssl/smtpd.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s

Приведу содержимое файлов из папки /usr/local/etc/postfix/mysql (Ставим права на эту папку 755 и владелец root:wheel, а права на файлы в папке mysql = 640 и владелец root:postfix):

mydestination.cf

hosts                   = localhost
dbname                  = maildb
user                    = postfix
password                = postfix
table                   = transport
select_field            = destination
where_field             = domain
additional_conditions   = AND (destination = 'local:' OR destination = 'virtual:')

transport.cf

hosts                   = localhost
dbname                  = maildb
user                    = postfix
password                = postfix
table                   = transport
select_field            = destination
where_field             = domain

virtual.cf

hosts                   = localhost
dbname                  = maildb
user                    = postfix
password                = postfix
table                   = virtual
select_field            = destination
where_field             = address

virtual_gid.cf

hosts                   = localhost
dbname                  = maildb
user                    = postfix
password                = postfix
table                   = users
select_field            = gid
where_field             = address
additional_conditions   = and ok = 'Y'

virtual_mailbox.cf

hosts                   = localhost
dbname                  = maildb
user                    = postfix
password                = postfix
table                   = users
select_field            = maildir
where_field             = address
additional_conditions   = and ok = 'Y'

virtual_mailbox_limit.cf

hosts                   = localhost
dbname                  = maildb
user                    = postfix
password                = postfix
table                   = users
select_field            = quota
where_field             = address

virtual_uid.cf

hosts                   = localhost
dbname                  = maildb
user                    = postfix
password                = postfix
table                   = users
select_field            = uid
where_field             = address
additional_conditions   = and ok = 'Y'

Последовательно выполняем действия:

— создадим каталог /var/spool/vmail, в котором собственно и будет храниться наша почта.
— заведём юзера vmail и группу vmail, с uid=990, gid=990 и сделаем его владельцем папки/var/spool/vmail с правами 700.
— добавим юзера postfix в группы mail и dovecot.
— добавим строчки для блокировки запуска sendmail:

sendmail_enable="NONE"

— «убъём» sendmail

#killall -9 sendmail

— добавим строчку для запуска в /etc/rc.conf

postfix_enable="YES"

— запустим postfix:

#/usr/local/etc/rc.d/postfix start

В логе /var/log/maillog должны появится строки:

May 15 15:21:33 srv-test postfix/postfix-script[53879]: starting the Postfix mail system
May 15 15:21:33 srv-test postfix/master[53880]: daemon started -- version 2.5.6, configuration /usr/local/etc/postfix

4) Настройка dovecot

Приводим файл /usr/local/etc/dovecot.conf к такому виду:

protocols = imap imaps pop3 pop3s
listen = *
disable_plaintext_auth = no
log_path = /var/log/maillog
log_timestamp = "%b %d %H:%M:%S "
syslog_facility = mail
ssl_cert_file = /etc/ssl/smtpd.pem
ssl_key_file = /etc/ssl/smtpd.pem
mail_location = maildir:/var/spool/vmail/%h
mail_privileged_group = mail
dotlock_use_excl = yes
verbose_proctitle = yes
first_valid_uid = 990
first_valid_gid = 990
maildir_copy_with_hardlinks = yes
protocol imap {
login_greeting_capability = no
imap_client_workarounds = delay-newmail outlook-idle netscape-eoh  tb-extra-mailbox-sep
}
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
protocol lda {
postmaster_address = postmaster@example.com
sendmail_path = /usr/sbin/sendmail
}
auth_default_realm = domain.tld
auth_username_format = %Lu
auth_verbose = no
auth_debug = no
auth default {
mechanisms = plain login
passdb pam {
}
passdb sql {
args = /usr/local/etc/dovecot-sql.conf
}
userdb passwd {
args = blocking=yes
}
userdb sql {
args = /usr/local/etc/dovecot-sql.conf
}
user = root
socket listen {
client {
path = /var/run/dovecot/auth-client
mode = 0660
user = dovecot
group = dovecot
}
}
}
dict {
}
plugin {
}

Ставим права на этот файл 444 и владелец root:wheel

Содержимое /usr/local/etc/dovecot-sql.conf

driver = mysql
connect = host=localhost user=dovecot password=dovecot dbname=maildb
default_pass_scheme = MD5
user_query = SELECT maildir AS home, uid, gid FROM users WHERE address = '%n@%d'
password_query = SELECT pw_encrypted AS password FROM users WHERE address = '%n@%d' AND ok = 'Y'

Ставим права на этот файл 600 и владелец root:wheel

5) Теперь переходим к mysql.

После установки базы производим её инициализацию:

#mysql_install_db
#chown -R mysql:mysql /var/db/mysql

Добавляем в /etc/rc.conf строку для запуска и собственно запускаем:

#echo 'mysql_enable="YES"' >> /etc/rc.conf
#/usr/local/etc/rc.d/mysql-server start

Теперь создадим базу maildb, юзеров postfixdovecot. Приведу дамп базы (в нём 3 таблицы: transport — для доменов, которые собираемся обслуживать, users — бд юзеров, сейчас содержит одну запись login/pass=admin/admin, virtual — для рассылок, алиасов):

-- MySQL dump 10.9
--
-- Host: localhost    Database: maildb
-- ------------------------------------------------------
-- Server version       4.1.22
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `transport`
--
DROP TABLE IF EXISTS `transport`;
CREATE TABLE `transport` (
`id` int(10) unsigned NOT NULL auto_increment,
`domain` varchar(128) NOT NULL default '',
`destination` varchar(128) NOT NULL default '',
PRIMARY KEY  (`id`),
UNIQUE KEY `domain` (`domain`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
--
-- Dumping data for table `transport`
--
LOCK TABLES `transport` WRITE;
/*!40000 ALTER TABLE `transport` DISABLE KEYS */;
INSERT INTO `transport` VALUES (1,'domain.tld','virtual:'),(2,'srv-test.domain.tld','local:');
/*!40000 ALTER TABLE `transport` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `users`
--
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL auto_increment,
`address` varchar(128) NOT NULL default '',
`pw_clear` varchar(32) NOT NULL default '',
`pw_encrypted` varchar(34) NOT NULL default '',
`name` varchar(128) NOT NULL default '',
`uid` int(11) unsigned NOT NULL default '990',
`gid` int(11) unsigned NOT NULL default '990',
`maildir` varchar(128) NOT NULL default '',
`quota` int(10) unsigned NOT NULL default '0',
`ok` enum('Y','N') NOT NULL default 'Y',
PRIMARY KEY  (`id`),
UNIQUE KEY `address` (`address`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
--
-- Dumping data for table `users`
--
LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES (1,'admin@domain.tld','password','$1$7JS46Ij9$Toqr8F4hdWYOI46Tk4XwC/','Admin Admin',990,990,'domain.tld/admin@domain.tld/',0,'Y');
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `virtual`
--
DROP TABLE IF EXISTS `virtual`;
CREATE TABLE `virtual` (
`id` int(10) unsigned NOT NULL auto_increment,
`address` varchar(128) NOT NULL default '',
`destination` text NOT NULL,
PRIMARY KEY  (`id`),
UNIQUE KEY `domain` (`address`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
--
-- Dumping data for table `virtual`
--
LOCK TABLES `virtual` WRITE;
/*!40000 ALTER TABLE `virtual` DISABLE KEYS */;
INSERT INTO `virtual` VALUES (1,'admin.admin@domain.tld','admin@domain.tld');
/*!40000 ALTER TABLE `virtual` ENABLE KEYS */;
UNLOCK TABLES;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

Подключамся к mysql и создаём БД maildb:

#mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 192
Server version: 5.0.77 FreeBSD port: mysql-server-5.0.77_1
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE DATABASE maildb;
mysql> quit;

Теперь извлекаем дамп в эту базу:

#mysql maildb < maildb.dump

Заводим юзеров posfix, dovecot и назначаем им права SELECT на базу maildb:

#mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 192
Server version: 5.0.77 FreeBSD port: mysql-server-5.0.77_1
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create user 'postfix'@'localhost' identified by 'postfix';
mysql> create user 'dovecot'@'localhost' identified by 'dovecot';
mysql> GRANT SELECT ON maildb.* TO 'postfix'@'localhost';
mysql> GRANT SELECT ON maildb.* TO 'dovecot'@'localhost';
mysql> flush privileges;
mysql> quit;

Теперь добавляем строку запуска dovecot’a в /etc/rc.conf и собственно запускаем его:

#echo 'dovecot_enable="YES"' >> /etc/rc.conf
#/usr/local/etc/rc.d/dovecot start

Теперь попробуем подключить учётную запись IMAP и отправить письмо самому себе (то есть admin’y, поскольку в базе только одна учётка). Смотрим лог /var/log/maillog:

Если в логах увидите запись «dovecot: Error: Relative home directory paths not supported», знайте, это какой-то глюк!

У одних работает, у дргих нет. Когда я делал связку с exim’ом, то заработало только так, как описано будет ниже. Вместо строки

mail_location = maildir:/var/spool/vmail/%h

нужно писать mail_location = maildir:%h в dovecot.conf,

а так же в файле dovecot-sql.conf вместо строки

user_query = SELECT maildir AS home, uid, gid FROM users WHERE address = ‘%n@%d’

пишем такую:

user_query = SELECT CONCAT(‘/var/spool/vmail/’,maildir) AS home, uid, gid FROM users WHERE address = ‘%n@%d’

dovecot: May 15 15:27:27 Info: imap-login: Login: user=, method=PLAIN, rip=10.10.10.1, lip=10.10.10.33
May 15 15:36:14 srv-test postfix/smtpd[53942]: connect from my.comp[10.10.10.1]
May 15 15:36:14 srv-test postfix/smtpd[53942]: setting up TLS connection from my.comp[10.10.10.1]
May 15 15:36:20 srv-test postfix/smtpd[53942]: Anonymous TLS connection established from my.comp[10.10.10.1]: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)
May 15 15:36:24 srv-test postfix/smtpd[53942]: 7BEFC170CD: client=my.comp[10.10.10.1], sasl_method=PLAIN, sasl_username=admin@domain.tld
May 15 15:36:24 srv-test postfix/cleanup[53944]: 7BEFC170CD: message-id=<4A0D6198.7020309@domain.tld>
May 15 15:36:24 srv-test postfix/qmgr[53882]: 7BEFC170CD: from=, size=610, nrcpt=1 (queue active)
May 15 15:36:24 srv-test postfix/smtpd[53942]: disconnect from my.comp[10.10.10.1]
May 15 15:36:24 srv-test postfix/virtual[53945]: 7BEFC170CD: to=, relay=virtual, delay=0.16, delays=0.13/0.02/0/0.02, dsn=2.0.0, status=sent (delivered to maildir)
May 15 15:36:24 srv-test postfix/qmgr[53882]: 7BEFC170CD: removed
dovecot: May 15 15:37:06 Info: IMAP(admin@domain.tld): Disconnected: Logged out bytes=506/673

Как видим, что и tls у нас работает. Кстати, проверить работает ли tls на сервере можно, подключившись к нему:

$telnet 10.10.10.33 25
Trying 10.10.10.33...
Connected to srv-test.
Escape character is '^]'.
220 srv-test.domain.tld ESMTP Postfix
ehlo a.ua <<<<< это мы ввели
250-srv-test.domain.tld
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS <<<<< вот собственно и видно :)
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

Возникает вопрос: как же всё-таки заводить в базу юзеров, удалять их, просматривать информацию и прочее. Для этого я написал несколько сприптов, которые работают с mysql-базой (не забудьте изменить в них пароли для доступа к mysql). Их можно взять отсюда download scripts

Примечание: скрипт добавления юзера (addmail.pl)  использует следующие модули для perlDBI,DBD::mysql, а скрипт измнения пароля (user_chpass) — Term::ReadKey Их можно установить из CPAN:

#perl -MCPAN -e 'install DBI'
#perl -MCPAN -e 'install DBD::mysql'
#perl -MCPAN -e 'install Term::ReadKey

Данный скрипт использует учётку к базе maildb, поэтому создадим юзера maildb и дадим ему полные права на эту базу (это неправильно с точки зрения безопасности: нужно давать минимально необходимые права):

#mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 192
Server version: 5.0.77 FreeBSD port: mysql-server-5.0.77_1
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create user 'maildb'@'localhost' identified by 'maildb';
mysql> GRANT ALL ON maildb.* TO 'maildb'@'localhost'
mysql>flush privileges;
mysql>quit;

Данный скрипт проверяем на правильность введённый email-адрес и генерирует пароль. Использовать его нужно так:

#addmail.pl -a andrew@domain.tld -n 'Andrew Makarov'
Адрес электронной почты: andrew@domain.tld
Имя пользователя:    andrew@domain.tld
Пароль:          wer5Dle4

6) squirrelmail

Переходим в каталог /usr/ports/mail/squirrelmail и ставим. По своей сути squirrelmail — набор php-скриптов для работы с imap-сервером. После установки появится каталог /usr/local/www/squirrelmail. Переходим в него и запускаем скрипт ./configure:

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages
D.  Set pre-defined settings for specific IMAP servers
C   Turn color off
S   Save data
Q   Quit
Command >>

Тут  ходим по менюшкам и ставим по своему вкусу. Едиственное, что я поменял, так это в 10-ом пунктеLanguages язык:

1.  Default Language       : ru_RU
2.  Default Charset        : utf-8

Теперь Нажимаем S, потом Q. Заходим в броузер и любуемся 🙂

Собственно это всё 🙂 В будущем планируется включить поддержку фильтрации спама и антивирус.

Настройка почтовой связки Postfix+Dovecot+Mysql+Squirrelmail+SSL: 4 комментария

  1. alex

    Добрый день. Настраиваю по Вашей статья и у меня возникли ошибки. Только dovecot 2. Когда я пишу telnet localhost 25 получаю ошибки
    proxy postfix/smtpd[48190]: initializing the server-side TLS engine
    Jun 6 14:22:35 proxy postfix/smtpd[48190]: connect from localhost[127.0.0.1]
    Jun 06 14:22:35 auth: Fatal: mysql: Unknown connect string:
    Jun 06 14:22:35 master: Error: service(auth): command startup failed, throttling for 60 secs
    Jun 6 14:22:35 proxy postfix/smtpd[48190]: fatal: no SASL authentication mechanisms
    Jun 6 14:22:36 proxy postfix/master[3636]: warning: process /usr/local/libexec/postfix/smtpd pid 48190 exit status 1
    Jun 6 14:22:36 proxy postfix/master[3636]: warning: /usr/local/libexec/postfix/smtpd: bad command startup — throttling
    Если делаю телнет по 587 порту то все норм…
    Спасибо за помощь!

    1. skeletor Автор записи

      видимо postfix собран без поддержки mysql или неправильно доступ к базе организован

      1. alex

        Да Вы права была ошибка с mysql но эти остались
        Jun 6 16:34:30 srv postfix/smtpd[1681]: initializing the server-side TLS engine
        Jun 6 16:34:30 srv postfix/smtpd[1681]: connect from localhost[127.0.0.1]
        Jun 6 16:34:30 srv postfix/smtpd[1681]: warning: SASL: Connect to /var/run/dovecot/auth-client failed: Permission denied
        Jun 6 16:34:30 srv postfix/smtpd[1681]: fatal: no SASL authentication mechanisms
        Jun 6 16:34:31 srv postfix/master[1506]: warning: process /usr/local/libexec/postfix/smtpd pid 1681 exit status 1
        Jun 6 16:34:31 srv postfix/master[1506]: warning: /usr/local/libexec/postfix/smtpd: bad command startup — throttling

  2. alex

    Решил проблему дописанием
    service auth
    unix_listener auth-client {
    mode = 0660
    user = postfix
    group = vmail
    }
    в блоке service auth в конфиге dovecot

Добавить комментарий для skeletor Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *