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

[postfix-jp: 2979] Re: OpenLDAPを利用したvirtual_mailbox_domainsでのメール配送



さとうふみやす @ OSS テクノロジです。

At Mon, 10 Mar 2008 08:07:28 +0900,
KATOU Takayuki wrote:
> ldap_table(5)確認しました。

今度はマニュアルを読むようにしましょうね。

> ldap_alias.cf:
> query_filter = (&(mail=%s)(paid_up=true))
> special_result_attribute = People

先のメールの LDIF には「paid_up」や
「People」という属性は含まれていませんが?

> result_filter = %s
> result_attribute = maildrop

「maildrop」という属性も見当りませんけど。

> # postalias -q test@example.jp ldap:/etc/postfix/ldap-alias.cf したところ、
> 
> postalias: dict_ldap_lookup: /etc/postfix/ldap-alias.cf: Searching with filter (&(mail=test@example.jp)(paid_up=true))
> postalias: warning: dict_ldap_lookup: Search error -7: Bad search filter

これが失敗するんだから、

> とりあえずこの状態で仮想ドメインのユーザにメールを送って見たところ、今度は
> 
> Mar 10 05:31:33 servername postfix/smtpd[7828]: NOQUEUE: reject: RCPT from smtprelay0012.送信元ドメイン[xxx.xxx.xxx.xxx]: 451 <test@example.jp>: Temporary lookup failure; from=<送信元アドレス> to=<test@example.jp> proto=ESMTP helo=<smtprelay.送信元ドメイン>
> 
> と、今度は Temporary lookup failure になってしまい、バウンスしてしまいました。

これは当然です。

> このため、今度はvirtual_mailbox_base,virtual_mailbox_domains,
> virtual_mailbox_maps等の設定を一旦削除し、下記のようにしてみましたが、
> 結果は同じでした。

何がしたいのかわかりません…。
ご自身も何をしているのかわかっていますか?

> 次に http://www.postfix-jp.info/ML/arc-2.2/msg00248.htmlの
> 「設定2」を試してみましたが、今度は

試すのもいいですが、理解する努力を。

> なかなかいい実例が見つからず、手詰まり状態です。
> 引き続きなにか情報があれば、リプライ頂ければ幸いです。

まずは LDAP について勉強してみるのがよさそうな気がします。

…

以下、私が実際に利用している例を。
少し変わっているので、たぶんあなたの参考にはなりません。:-p

LDAP のエントリ:
  dn: uid=fumiyas,ou=People,dc=osstech,dc=co,dc=jp
  objectClass: top
  objectClass: person
  objectClass: organizationalPerson
  objectClass: inetOrgPerson
  objectClass: posixAccount
  objectClass: shadowAccount
  objectClass: sambaSamAccount
  cn: fumiyas
  sn: fumiyas
  uid: fumiyas
  userPassword: ***snip***

/etc/postfix/main.cf (抜粋):
  mydestination =
    $myhostname
    sfo.jp
    local.osstech.co.jp
    localhost
  recipient_delimiter = +
  virtual_alias_domains =
    ml.sfo.jp
    osstech.co.jp
    osstech.jp
    ml.osstech.jp
    ldap.jp
    ml.ldap.jp
  virtual_alias_maps =
    hash:$config_directory/virtual_alias
    regexp:$config_directory/virtual_alias.regexp
    hash:/var/lib/mailman/data/virtual-mailman
    ldap:$config_directory/virtual_alias.ldap

/etc/postfix/virtual_alias.ldap:
  domain = osstech.co.jp
  server_host = ldap://127.0.0.1
  version = 3
  search_base = dc=osstech,dc=co,dc=jp
  scope = sub
  query_filter = uid=%u
  result_attribute = uid
  result_format = osstech-mailproc+%s@xxxxxxxxxxxxxxxxxxx

~osstech-mailproc/.forward:
  "|/usr/bin/maildrop $HOME/.maildropfilter"

~osstech-mailproc/.maildropfilter:
  ## Deliver to maildir
  ##   VIRTUALUSER+LOCAL@xxxxxxxxxxxx -> Maildir/DOMAIN/LOCAL/Maildir/
  if (/^Delivered-To: [^+]+\+([^+]+)@local\.(.*)$/)
  {
    to "$HOME/$MATCH2/$MATCH1/Maildir/"
  }

  ## Unknown recipient
  ## EX_NOUSER
  #EXITCODE=67
  ## EX_TEMPFAIL
  EXITCODE=75
  exit

仮想ドメインのユーザーでもユーザーごとの .forward ファイル
(例: ~osstech-mailproc/.forward+fumiyas)を利用するために、
ちょっと特殊なことをしています。

LDAP のエントリも普通じゃないです。OpenLDAP の syncrepl 行で
attrs="objectClass,sn,cn,uid,userPassword" として必要な属性だけを
別にあるマスターの OpenLDAP サーバーからレプリケーションしているので。

-- 
-- Name: SATOH Fumiyasu (fumiyas @ osstech co jp)
-- Business Home: http://www.OSSTech.co.jp/
-- Personal Home: http://www.SFO.jp/blog/

_______________________________________________
Postfix-jp-list mailing list
Postfix-jp-list@xxxxxxxxxxxxxxxxxxxx
http://lists.sourceforge.jp/mailman/listinfo/postfix-jp-list

Follow-Ups
[postfix-jp: 2980] 別方法で解決しました(Re: Re: OpenLDAPを利用したvirtual_mailbox_domainsでのメール配送), KATOU Takayuki
References
[postfix-jp: 2976] OpenLDAPを利用したvirtual_mailbox_domainsでのメール配送, KATOU Takayuki
[postfix-jp: 2977] Re: OpenLDAPを利用したvirtual_mailbox_domainsでのメール配送, SATOH Fumiyasu
[postfix-jp: 2978] Re: OpenLDAPを利用したvirtual_mailbox_domainsでのメール配送, KATOU Takayuki

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