OpenPneのメール投稿設定をしてて、しみじみと postfix の設定を掘り下げてなかったなぁと実感。
我が家のメールサーバでは、メール受信用ドメインを virtual で処理してメールアカウント毎にUNIXアカウントを作らなくて良いようにしてました(WEBも同様。WEBの方が何も考えなくて良い)
ローカル配送なんて発生しなくていいかーなんてノリだったんだけど、システム発行のroot宛メールとか、mailboxではなくプログラムで処理する時なんかに必要なんだよねぇ…
まぁ、てこづってた原因がメールサーバの設定が適当だったせいでした、と分かりました、という話なわけですが(^^;
さて、まずどこの適当さが響いたかといると「何を virtual配当するか、何をローカル配送するか」というのが超適当だったところで「なーんもローカル配送しませんぜ」だったところ。そのせいで /etc/aliases が機能しないしない。
具体的には以下の設定。
main.cf
mydomain = tinyworld.ne.jp
:
virtual_mailbox_domains = $myhostname, localhost.$mydomain, $mydomain
まぁ、なんでも virtual配送でっせ、と。
ここを、virtual配送するドメインを明確に指定することにしました。
mydomain = localhost
:
local_recipient_maps = $alias_maps
:
fallback_transport = virtual
:
local_transport = local
:
virtual_mailbox_domains = tinyworld.ne.jp
※ fallback_transport は、ローカル配送できない場合に使用する配送手段らしい。
あと、色々な動的なメールアドレスで受信できないといけないのだけど、自前サーバのメリットを生かしてサブドメイン指定でまるっと OpenPneに渡す設定(手抜き)にしちゃいました。
virtualエイリアス
@nssns.tinyworld.ne.jp nspne-request
/ets/aliases
nspne-request:"|/usr/bin/php /OPENPNE_DIR/bin/mail.php"
これでアカウントがなんであろうと nssns.tinyworld.ne.jp宛は全てOpenPne君に渡る訳です。
当然、DNSでサブドメインは設定してあります。というか設定できるからできる手抜きでした。