ユーザ用ツール

サイト用ツール


サイドバー

Index

はじめてのおつかい






DokuWiki整形記法


PlayGround



serverapps:postfix:virtual_mailbox

仮想ドメイン、仮想アドレス

管理するドメインが増えるとそれぞれにmailサーバが必要になったりするんですが、それは面倒なので仮想ドメインで済ませてしまう。

とってもお手軽、ドメイン追加

mydestination にドメイン名を追加すればOK。

mydestination = 本ドメイン, 仮想ドメイン

ただし、ユーザ名=OSのアカウントで区別されるため、複数のドメインで同じユーザ名が使えないので注意!

メールアドレス 配送先
hoge@本ドメイン hoge
hoge@仮想ドメイン hoge
hogehoge@本ドメイン hogehoge
hogehoge@仮想ドメイン hogehoge

virtual_mailboxを使う

名前の通り、Mailboxを仮想化しますので、メールアカウントをOSのアカウントから分離できます。 また、複数ドメインへの対応もできます。

設定項目はこんなものでしょう。

Option memo
virtual_mailbox_base 全てのメールボックスが置かれる場所
virtual_mailbox_domains  ドメインのリスト
virtual_mailbox_maps  ユーザリスト
virtual_mailbox_limit  メールボックスのサイズ
virtual_gid_maps  メールボックスのgid
virtual_uid_maps  メールボックスのuid

仮想メールボックス用ユーザの作成

今回は、仮想メールボックス用ユーザを作成して、そのhomeディレクトリに仮想メールボックスを配置することにします。 ユーザ名とかuidは適当に決めてください。

# adduser 
Username: 仮想メールボックスユーザ
Full name: 
Uid (Leave empty for default): nnn
Login group [仮想メールボックスユーザ]: 
Login group is 仮想メールボックスユーザ. Invite 仮想メールボックスユーザ into other groups? []: 
Login class [default]: 
Shell (sh csh tcsh nologin) [sh]: nologin
Home directory [/home/仮想メールボックスユーザ]: 
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: 
Use an empty password? (yes/no) [no]: 
Use a random password? (yes/no) [no]: y
Lock out the account after creation? [no]: 
Username   : 仮想メールボックスユーザ
Password   : <random>
Full Name  : 
Uid        : nnn
Class      : 
Groups     : 仮想メールボックスユーザ 
Home       : /home/仮想メールボックスユーザ
Home Mode  : 
Shell      : /usr/sbin/nologin
Locked     : no
OK? (yes/no): y
adduser: INFO: Successfully added (仮想メールボックスユーザ) to the user database.
adduser: INFO: Password for (仮想メールボックスユーザ) is: xxxxxxxxxx
Add another user? (yes/no): n
Goodbye!

main.cfの編集

必要な項目を設定していきます。

Option 設定値 メモ
virtual_mailbox_base /home/仮想メールボックスユーザ 前述した仮想メールボックス用ユーザのhomeを指定します
virtual_mailbox_domains  仮想ドメイン 仮想ドメイン名
virtual_mailbox_maps  ldap:/usr/local/etc/postfix/yyyyyyyy.cf マッピングはldapでやっています
virtual_mailbox_limit  52428800 50Mbyteにしてみました
virtual_gid_maps  static:nnn 仮想メールボックスユーザのgid
virtual_uid_maps  static:nnn 仮想メールボックスユーザのuid

LDAPを使ったvirtual_mailbox_mapsの作成

virtual_mailbox_maps用のファイルを作成します。

#touch /usr/local/etc/postfix/yyyyyyyy.cf 

内容はこんな感じ。

server_host = ldapサーバアドレス
server_port = 389
timeout = 5
bind = yes
bind_dn = cn=管理者,dc=yyyy,dc=zzz
bind_pw = パスワード
search_base = ou=xxxx,dc=yyyy,dc=zzz
query_filter = (mail=%s)
result_attribute = mail
result_format = %s/Maildir/
scope = sub
version = 3
dereference = 1

以下のコマンドでチェックしてみる。
result_formatで指定した結果が帰ってくればOK。

 # postalias -q xxx@example.com ldap:/usr/local/etc/postfix/yyyyyyyy.cf
 xxx@example.com/Maildir/
serverapps/postfix/virtual_mailbox.txt · 最終更新: 2017/07/05 12:22 by hayashi