• ホーム
  • サーバ
  • Postfix
  • main.cf
  • 仮想メールボックス
  • 仮想メールボックス

    仮想メールボックス(バーチャルメールボックス)
    UNIXアカウントを使用することなく、メールボックスを所有できる
    
    ■設定
    virtual_mailbox_domains = example.com
    	指定したドメインがバーチャルメールボックスドメインであると宣言する
    	これを記述し忘れると、そもそも受け取らない
    virtual_mailbox_base = /var/mail/vhosts
    	バーチャルメールボックスのパス名すべての前に付けるパス名を指定
    	これは誰かが間違いを犯した場合の安全機構です。
    	これによりメールがファイルシステム全体には配送されないようになります
    virtual_mailbox_maps = dbm:/etc/postfix/vmailbox
    	このルックアップテーブル内にメールボックスのパスを指定
    virtual_gid_maps		メールボックスのUIDを指定
    virtual_uid_maps		メールボックスのGIDを指定
    virtual_minimum_uid = 1000
    	メールボックス所有者の下限のUIDを指定。間違いの場合の安全機構
    virtual_uid_maps = static:5000
    virtual_gid_maps = static:5000
    	所有するメールボックスのUNIXユーザIDとグループIDの指定
    	又は受信者のメールアドレスで検索される検索テーブルを指定
    virtual_alias_maps = dbm:/etc/postfix/virtual
    	下記バーチャルエイリアスを参照
    	このようにバーチャルメールボックスとバーチャルエイリアスの混同も可能
    
    virtual_mailbox_limit (デフォルト: 51200000(50MB))単位:バイト
    	個々のメールボックスまたは maildir ファイルの、最大サイズ。0なら制限なし。
    virtual_mailbox_limit_maps = ldap:/etc/postfix/ldap-quota.cf
    virtual_mailbox_limit_override = yes
    	バーチャルドメイン毎のメールボックスのサイズを指定
    
    virtual_mailbox_lock
    	デフォルトはシステムによって違う為、postconf -d で確認のこと
    	Solaris9の場合=fcntl, dotlock
    	maildir 形式の配送ではロックがなくても安全であるため、この設定は無視されます
    virtual_overquota_bounce = yes
    	quota制限に引っかかった場合、通常は一時エラーとし空きが出るまでスプールに保存されます
    	これをyes にすることで、quota制限の場合すぐにエラーメールを返します。
    
    □ルックアップテーブル(上記の dbm:/etc/postfix/vmailboxの場合)
    test1@example.com	example.com/test1/
    test2@example.com	example.com/test2/
    
    □下記のように書くとcatch-allアドレスになる。
     ※存在しないユーザのメールも何でも受けるアドレス(SPAMが大量に来るので使用注意)
    @example.com		example.com/catchall/	※catch-allアドレス
    
    
    
    ■バーチャルエイリアス
     ホスティングしているドメイン宛のメールをローカルシステムユーザにエイリアスする
    virtual_alias_domains = example2.com	バーチャルドメインの宣言
    virtual_alias_maps = hash:/etc/postfix/virtual
    
    □ルックアップテーブル(上記の /etc/postfix/virtual)
     指定したメールアドレス宛のメールを、指定したローカルユーザ宛に転送する
    postmaster@example2.com	postmaster
    info@example2.com	hogehoge
    
    ※ルックアップテーブルは記述後、必ず下記のコマンドで更新すること
    postmap /etc/postfix/virtual
    postfix reload
    
    
    
    
    LDAP時(設定例)
    virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf メール転送用 virtual_gid_maps = ldap:/etc/postfix/ldap-gid_maps.cf メールボックスのUID virtual_uid_maps = ldap:/etc/postfix/ldap-uid_maps.cf メールボックスのGID virtual_mailbox_domains = example.com 扱うバーチャルドメインの設定。複数の場合はカンマで virtual_mailbox_base = /var/mail バーチャルドメインのメール配送先親ディレクトリ virtual_mailbox_maps = ldap:/etc/postfix/ldap-account.cf メールボックス保存場所 virtual_mailbox_limit = 0 virtual_mailbox_limit_maps = ldap:/etc/postfix/ldap-quota.cf メールボックスのサイズ virtual_mailbox_limit_override = yes virtual_overquota_bounce = yes 各テーブルはルックアップテーブルのLDAPテーブルも参照 □/etc/postfix/ldap-account.cf (メールボックスの保存場所指定[virtual_mailbox_maps]) server_host = 192.168.10.100 192.168.10.101 LDAPサーバホスト server_port = 389 timeout = 10 検索タイムアウト時間 bind = yes 認証するかどうか version = 3 LDAPプロトコルバージョン bind_dn = cn=Manager,dc=example,dc=com bind_pw = adminpassword scope = sub search_base = ou=people,dc=example,dc=com 検索を行うDNを指定。必須項目 ---ここまではどのLDAP定義ファイル関連も同じ--- query_filter = (mail=%s) ディレクトリの検索に使われるフィルタ %s…入力キーのまま(下記は入力キーがメールアドレスの形式だった場合) %u・・・@より前のユーザ名部分、%d・・・ドメイン部分 result_attribute = mailDirectory LDAP検索よりこの項目の値を取得 result_format = %s/Maildir/ 結果はこのフォーマットで値を返す □/etc/postfix/ldap-alias.cf (メール転送用[virtual_alias_maps]) ---ここまでは同定義--- search_base ou=aliases,dc=example,dc=com query_filter (cn=%u) result_attribute rfc822MailMember □/etc/postfix/ldap-gid_maps.cf (メールボックスのGID指定[virtual_gid_maps]) ---ここまでは同定義--- query_filter = (&(objectClass=posixAccount)(uid=%u)) result_attribute = gidNumber □/etc/postfix/ldap-uid_maps.cf (メールボックスのUID指定[virtual_uid_maps]) ---ここまでは同定義--- query_filter = (&(objectClass=posixAccount)(uid=%u)) result_attribute = uidNumber □/etc/postfix/ldap-quota.cf (メールボックスのサイズ[virtual_mailbox_limit_maps]) ---ここまでは同定義--- query_filter = (|(mail=%s)(mailAlias=%s)) result_attribute = quotaSize

    前へ  トップへ inserted by FC2 system