複数アプリを動かしている場合、アプリ毎にメールアドレスが欲しくなることがあります。
今回はpostfixのvirtual domain、virtual aliasを使って実現しました。1つのサーバ(host名:x.s21g.com
- satoko@b.s21g.com
で受信したメールを - satoko_at_
b@a.s21g.com に転送 - それをscript/run
ncerで処理ということになります。
mailnameの用意
myoriginパラメータで使う名前を設定します。
1 # cat /etc/mailname 2 a.s21g.com
virtual aliasesの用意
メール受信時どういう処理をするかです: railsの場合script/run
PATHはそれぞれ書き換えてください。
1 # cat /etc/aliases 2 postmaster : root 3 4 #post_at_b: "| cat $1 > /tmp/mail_ test.txt" #test用コード 5 post_at_b: "| /PATH_TO_R UBY/ruby /PATH_TO_R AILS_ROOT/ script/run ner -e production 'TestMailer .receive(STDIN.read )'"
virtual domainの用意
virtual domainに来た場合どうするかを個別を書きます。
1 # cat /etc/postfix/virtual 2 b.s21g.com anything 3 post@b.s21g.com post_at_b
postfixの設定を変更
mydestinat
1 #/etc/postfix/main.cf 2 mydestinat ion = localhost, localhost. localdomai n, localhost, b.s21g.com 3 myorigin = /etc/mailn ame 4 alias_maps = hash:/etc/ aliases 5 alias_data base = hash:/etc/ aliases 6 virtual_al ias_maps = hash:/etc/ postfix/vi rtual
各設定を反映
1 # postalias /etc/aliases 2 # postmap /etc/postf ix/virtual 3 # /etc/rc.d/ init.d/pos tfix restart
(注意) a.s21g.com
(注意) スパムに使われないようにリレーを設定します:main.cf
relayhost =
mynetworks
Refs
http://blo
http://www
http://fur
http://www