blu*_*eam 2 mysql postfix saslauthd dovecot sasl
我在从源代码编译最新版本的 postfix 时遇到问题。目前我正在尝试编译版本 3,因为 Debian 7 和最新的 Ubuntu 14,10(用于 postfix 的版本 2,9 和 2,11)在使用 Maildir 协议配置虚拟邮箱时存在问题。我正在考虑制作 mysql 表来存储本地别名和虚拟邮箱,但我想提供 SMTP 身份验证访问,将 dovecot 作为 IMAP 服务器引入 SASL。CCARGS 和 AUXLIBS 有什么区别?
我下载了 cyrus-sasl 包来构建和安装,我用这些参数指向 makefile:sasl 源文件夹make CCARGS='-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/tmp/cyrus-sasl/include' AUXLIBS='-lsasl2'
在哪里include。
这样,我在这里报告了错误。正如莫森建议的那样,我附加了
-ldb -lnsl -lresolv
Run Code Online (Sandbox Code Playgroud)
到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? */
Run Code Online (Sandbox Code Playgroud)
我错过了什么或做错了什么?
使用 Maildir 协议配置虚拟邮箱的错误
我正在使用 Dovecot LMTP 递送到 Maildir 邮箱并且没有任何问题。
我想提供引入 SASL 的 SMTP 身份验证访问,dovecot 作为 IMAP 服务器
更简单的方法是通过 Dovecot 对 SMTP 用户进行身份验证,因此您无需在两者中都配置 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
}
}
Run Code Online (Sandbox Code Playgroud)
给你的 /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
Run Code Online (Sandbox Code Playgroud)
到你的/etc/postfix/main.cf,你就完成了。