[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[postfix-jp:02556] Re: OpenLDAPとの連携



初めまして.

本日MLに入会しました中満と申します.
今後ともよろしくお願いいたします.

過去ログで
[postfix-jp:02490] Re: OpenLDAPとの連携
を目にしましたので,遅ればせながら.

まだ発売されていませんが,4,5,6月号のSoftware Designでpostfixとopenldapを
用いたバーチャルドメインメールサーバ環境構築の話がありますので,参考になれば幸いです.
(といっても第一回目はopenldapの基礎のみですけど)

ちなみに,alias_mapsで
hoge@example.com	fuga@example.jp
という形式を扱うことは出来ませんので,もしどうしてもaliasを利用したい場合

(virtual_maps: メールアドレスから架空のユーザ)
hoge@example.com -> hoge+example.com

(alias_maps: 架空のユーザからメールアドレス)
hoge+example.com -> fuga@example.jpとか"|/usr/bin/vacation"

と変換することは可能です.つまり上記の例は

virtual_maps = ldap:aaa

aaa_server_host = localhost
aaa_search_base = dc=example, dc=com
aaa_query_filter = (&(mail=%s)(mlActive=TRUE))
aaa_result_attribute = alias

alias_maps = ldap:bbb

bbb_server_host = localhost
bbb_search_base = dc=example, dc=com
bbb_query_filter = (&(alias=%s)(vacationActive=TRUE))
bbb_result_attribute = vacation

のように実現できます.
これはバーチャルメール環境で,特定のアドレス宛に配送されたメールのみを
vacationプログラムにパイプするような例です.

> LDAP上ではそれぞれ以下のように登録されてます。
> cn=testar,dc=sample,dc=co,dc=jp
> cn=testar,dc=sub1,dc=sample,dc=co,dc=jp
> cn=testar,dc=sub2,dc=sample,dc=co,dc=jp
> postfix main.cf(主な設定)では

> alias_maps = hash:/etc/postfix/aliases,ldap:myldaptag
> myldaptag_search_base = dc=sample,dc=co,dc=jp
> myldaptag_query_filter = (mailacceptinggeneralid=%s)
> myldaptag_result_attribute = maildrop

> 1つのドメインで行う場合は良いのですが、上記複数のドメインを
> LDAP上で管理していると、任意のtester宛てが3ドメインの同一
> ユーザ名それぞれへ配送されてしまいます。

これは,(mailacceptinggeneralid=%s)という条件で検索した結果,
3件のmaildrop属性が見つかるためだと思いますが,実際のldifは
どのようになっているのでしょうか?
# 具体的に何を実現されたいのか見えてこないので・・・.

> myldaptag_query_filter = (mailacceptinggeneralid=%s)
これは正しい書式です.%sはメールアドレス,ドメイン名などいろいろなものに
置き換わります.

openldapのログをとりながらメール配送すると%sの正体がわかります.

Hideo NAKAMITSU <nomo@xxxxxxxxxxxxx>

Follow-Ups
[postfix-jp:02558] Re: OpenLDAPとの連携, ysakai2
[postfix-jp:02559] host unknownの返し方, ysakai2

[検索ページ] [Postfix-JP ML Home]