arinux

Linux サーバー設定備忘録
<< openLDAP 構築(49) - メール管理(Postfix + Dovecot + SMTP AUTH + openldap) | main | openLDAP 構築(51) - メール管理(バーチャルエイリアス、バーチャルドメイン(2) ) >>
openLDAP 構築(50) - メール管理(バーチャルエイリアス、バーチャルドメイン(1) )


メモ 受信メールの配送・転送


受信したメールをローカルのメールボックスに届ける、あるいは別のメールアドレスへ転送する仕組みには、さまざまなものがあります。ここでは、それらを図解して説明します。


メールブルー ローカル配送


受信したメールを、ローカルのメールボックスに届ける。


受信メールのローカル配送


メールブルー エイリアス処理後のローカル配送


受信したメールを、エイリアス(別名)指示に従って、ローカルのメールボックスに届ける。


受信メールのエイリアス処理


メールブルー バーチャル・エイリアスによる転送


受信したメールを、virtual_alias_maps に従って、別 MTA へ転送する。


受信メールの転送


メールブルー バーチャル・ドメインによる転送


自分とは異なるドメインのメールを、virtual_alias_maps に従って、別 MTA へ転送する。


バーチャルドメインによる受信メールの転送


メールブルー バーチャル・メールボックスによるローカル配送


自分とは異なるドメインのメールを、virtual_mailbox_maps に従って、ローカルのメールボックスに届ける。


バーチャルメールボックスによる受信メールの配送




メモ バーチャル・エイリアスによる転送


「virtual_alias_maps」 の情報を、LDAP から取り出して転送する方法を説明します。


LDAP による転送先の検索


  1. main.cf に、以下を追加します。
    virtual_alias_maps = ldap:/usr/local/etc/postfix/ldap_valias.cf
    


  2. ldap_valias.cf を作成します。
    [root]# vi /usr/local/etc/postfix/ldap_valias.cf
    
    server_host = localhost
    server_port = 389
    search_base = ou=Mail,dc=examples,dc=com
    query_filter = (uid=%u)
    result_attribute = mailAlias
    version = 3
    


  3. postfix を再起動します。
    [root]# /etc/rc.d/init.d/postfix restart
    Shutting down postfix:                                     [  OK  ]
    Starting postfix:                                          [  OK  ]
    


  4. 「slapd.conf」 にアクセス制御を追加します(すでに追加済みの場合は不要)。
    access to dn.subtree="ou=Mail,dc=examples,dc=com" attrs=userPassword
            by dn="cn=mailadmin,ou=Mail,dc=examples,dc=com" read
            by anonymous auth
            by * none
    


  5. メール用の ou(organizationalUnit) を追加します(すでに追加済みの場合は不要)。
    [root]# vi oudn_mail.ldif
    
    dn: ou=Mail,dc=examples,dc=com
    objectClass: organizationalUnit
    ou: Mail
    
    [root]# ldapadd -x -W -D "cn=Manager,dc=examples,dc=com" -f ./oudn_mail.ldif
    Enter LDAP Password:
    adding new entry "ou=Mail,dc=examples,dc=com"
    


  6. 以下のような LDIF ファイルを作成します。
    [root]# vi mail_gamba02.ldif
    
    dn: cn=gamba osaka,ou=Mail,dc=examples,dc=com
    objectClass: inetOrgPerson
    objectClass: postLdapAdmin
    sn: osaka
    cn: gamba osaka
    uid: gamba.osaka
    userPassword: {MD5}VJKW9qrhOmOo3z5IIUSOrg==
    mail: gamba.osaka@test15.examples.net
    mailDirectory: /home/mail/gamba.osaka/Maildir/
    mailAlias: rider@arinux.jugem.jp
    


  7. 既存のエントリーを一度削除して、再度追加します。
    [root]# ldapdelete -x -W -D "cn=Manager,dc=examples,dc=com" ¥
    "cn=gamba osaka,ou=Mail,dc=examples,dc=com"
    Enter LDAP Password:
    
    [root]# ldapadd -x -W -D "cn=Manager,dc=examples,dc=com" -f ./mail_gamba02.ldif
    Enter LDAP Password:
    adding new entry "cn=gamba osaka,ou=Mail,dc=examples,dc=com"
    


  8. 期待通りに mailAlias の値が引けるかをテストします。
    [root]# postmap -q "gamba.osaka@test15.examples.net" ¥
    ldap:/usr/local/etc/postfix/ldap_valias.cf
    rider@arinux.jugem.jp
    
    虫眼鏡 uid=%u


    • 「ldap_valias.cf」 の中で、「query_filter = (uid=%u)」 と記述していますので、
      • gamba.osaka@test15.examples.net → gamba.osaka に置き替えられ、
      • LDAP にて uid=gamba.osaka を検索します。
    • %s なら 「gamba.osaka@test15.examples.net」 の入力値のまま、
    • %d なら 「test15.examples.net」 のドメインの部分が代入されます。


  9. メール送信テストをします。
    [root]# echo "Alias test 101" | mail -s "test 101" gamba.osaka@test15.examples.net
    


  10. 転送先のメールボックスに届いていることを確認します。



つづく

| arinux | openldap | 16:38 | comments(0) | trackbacks(0) | pookmark |









http://arinux.net/trackback/68
   1234
567891011
12131415161718
19202122232425
2627282930  
<< November 2017 >>
+ SELECTED ENTRIES
+ RECENT COMMENTS
+ RECENT TRACKBACK
+ CATEGORIES
+ ARCHIVES
+ 掲載予定のタイトル
  • Wordpress
  • Pukiwiki
  • SMTPs/POPs/IMAPs
  • fml
  • Tips
+ CSS Nite
+ MOBILE
qrcode
+ LINKS
+ RECOMMEND
+ PROFILE