ソースコードから最新バージョンのpostfixをコンパイルしているときに問題が発生します。 Debian7と最新のUbuntu14,10(postfixのバージョン2,9と2,11)は、Maildirプロトコルで仮想メールボックスを構成するのにバグがあるため、現時点ではバージョン3をコンパイルしようとしています。ローカルエイリアスと仮想メールボックスを格納するmysqlテーブルを作成することを考えていましたが、IMAPサーバーとしてdovecotを使用してSASLを導入するSMTP認証アクセスを提供したいと思います。 CCARGSとAUXLIBSの違いは何ですか?
ビルドしてインストールするためにcyrus-saslパッケージをダウンロードし、次のパラメーターを使用してmakefileを指定しています。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プロトコルで仮想メールボックスを構成するためのバギー
Maildirボックスへの配信にDovecotLMTPを使用していますが、問題はありません。
IMAPサーバーとしてdovecotを使用したSASLを導入するSMTP認証アクセスを提供したい
より簡単な方法は、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
}
}
あなたの/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
これで完了です。