Назад | Перейти на главную страницу

поиск правильного способа компиляции постфикса

У меня возникли проблемы при компиляции последней версии postfix из исходного кода. На данный момент я пытаюсь скомпилировать версию 3, потому что Debian 7 и последняя версия Ubuntu 14,10 (версии 2,9 и 2,11 для postfix) содержат ошибки для настройки виртуальных почтовых ящиков с протоколом Maildir. Я думал создать таблицы mysql для хранения локальных псевдонимов и виртуальных почтовых ящиков, но я хотел бы предоставить доступ к аутентификации SMTP, вводя SASL с dovecot в качестве сервера IMAP. В чем разница между CCARGS и AUXLIBS?

Я загрузил пакет cyrus-sasl для сборки и установки и указываю make-файлы со следующими параметрами: make CCARGS='-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/tmp/cyrus-sasl/include' AUXLIBS='-lsasl2' где include это папка с исходниками sasl.

Таким образом я получил сообщение об ошибке Вот. Как предложил Мохсен, я добавил

-ldb -lnsl -lresolv

к AUXLIBS но это вызывает еще одну ошибку, и я не нашел решения, чтобы продолжить с этого момента.

Вот ошибка:

gcc -I. -I../../include -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/tmp/cyrus-sasl/include -DHAS_PCRE -UUSE_DYNAMIC_LIBS -DDEF_SHLIB_DIR=\"no\" -UUSE_DYNAMIC_MAPS -Wmissing-prototypes -Wformat -Wno-comment -g -O -I. -I../../include -DLINUX3 -c smtpd.c
smtpd.c: In function ‘xclient_cmd’:
smtpd.c:4028:11: error: ‘SMTPD_STATE’ has no member named ‘tls_context’
  if (state->tls_context == 0)  /* TLS from XCLIENT proxy? */

Что я упускаю или делаю не так?

ошибка настройки виртуальных почтовых ящиков с протоколом Maildir

Я использую Dovecot LMTP для доставки в ящики Maildir, и у меня нет никаких проблем.

Я хотел бы предоставить доступ к аутентификации SMTP, представляя SASL с dovecot в качестве сервера IMAP

Более простой способ - аутентифицировать пользователей SMTP через Dovecot, поэтому вам не нужно настраивать аутентификацию SASL в обоих.

Добавить

service auth {
    unix_listener auth-userdb {
        mode = 0666
    }
    unix_listener /var/spool/postfix/private/auth {
        mode = 0666
        user = postfix
        group = postfix
    }
}

service lmtp {
    unix_listener /var/spool/postfix/private/dovecot-lmtp {
        mode = 0660
        user = postfix
        group = postfix
    }
}

на ваш /etc/dovecot/conf.d/10-master.conf

затем

virtual_transport = lmtp:unix:private/dovecot-lmtp

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

на ваш /etc/postfix/main.cf и все готово.