我正在从源代码编译最新版本的postfix时遇到问题。 目前我正在尝试编译版本3,因为Debian 7和最新的Ubuntu 14,10(版本2,9和2,11为后缀)是用Maildir协议configuration虚拟邮箱的bug。 我正在想使MySQL表存储本地别名和虚拟邮箱,但我想提供SMTP身份validation访问引入SASL与dovecot作为IMAP服务器。 CCARGS和AUXLIBS有什么区别?
我下载了cyrus-sasl包来构build和安装,并且使用这些参数指向makefiles: make CCARGS='-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/tmp/cyrus-sasl/include' AUXLIBS='-lsasl2'其中include是文件夹与sasl来源。
这样,我在这里得到错误报告。 正如Mohsen所build议的,我附加了
-ldb -lnsl -lresolv
到AUXLIBS但它会引发另一个错误,我还没有find任何解决scheme,从这一点上继续。
这是错误:
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协议configuration虚拟邮箱的问题
我使用Dovecot LMTP传送到Maildir盒子,没有任何问题。
我想提供SMTP身份validation访问介绍SASL与dovecot作为IMAP服务器
更简单的方法是通过Dovecot对SMTP用户进行身份validation,因此您不需要同时configurationSASL身份validation。
加
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 ,你就完成了。