PostfixをMySQL対応にするで行った。等で新規作成する事)/etc/postfix/mysql_virtual_alias_maps.cf/etc/postfix/mysql_virtual_domains_maps.cf/etc/postfix/mysql_virtual_mailbox_maps.cf/etc/postfix/mysql_virtual_mailbox_limit_maps.cfのファイルにはMySQLのパスワードが含まれているのでパーミッションの変更を行う事。だいたいうまくいくのだが、多少の変更が必要。spamassassinを有効にするにはprocmailでメールボックスに配送しなければならない。バーチャルドメインの場合procmailが使えないという記事が多かったので心配だったが、postfixのバーチャルドメイン管理でのspamフィルタについてを読むとどうやら使えるらしい。Postfixの設定main.cfの設定。reject_unauth_destination-------------------------------------------------------------------------------master.cfの設定。/etc/procmailrcprocmailのルール、/etc/procmailrcを新規作成する。/etc/procmailrcSHELL=/bin/bashPATH=/usr/bin:/binDEFAULT=/mail/$DOMAIN/$USER\@$DOMAIN/#LOGFILE=/mail/procmail.logLOGFILE=${DEFAULT}.procmail.log#LOCKFILE=/mail/procmail.lockLOCKFILE=/mail/$USER\@$DOMAIN.procmail.lockVERBOSE=ON:0fw|/usr/bin/spamcLOGFILEはテスト段階では/mail/procmail.logにしておくと楽。詳細ログを記録する設定なので本格運用する際にはコメントアウトする。LOCKFILEはユーザー数が増えた時の為に各ユーザーごとにロックファイルを使うようにしてみた。ログの肥大化を防ぐため、ログローテーション設定ファイル新規作成する。notifempty}注意点として、バーチャルドメインでの運用の場合ローカルユーザーのメールボックスにメールが配信されない。root宛のメールも然り。root宛のメールが普段使っているメールアドレス宛に配信されるようにしておく。←最終行に追加newaliasesmyname@domain.comにroot宛のメールが届くようになる。テストメールを配信してみてヘッダ情報を見る。xxxx.jpがヘッダ情報に挿入されているはず。その他のテスト方法は各リンクに掲載されていた通り。ユーザーメールディレクトリが作成されない・・・なぜかメールディレクトリが作成されない。spamチェックのためメール配送をprocmailにするとディレクトリ作成されない事が判明。パーミッションは0771。vuserを追加してみたら既存のドメインには作成される。新規にドメイン追加>メールアドレス追加の場合は作成されない。この後したい事postfixadminでドメイン、メールユーザー等を削除した場合は各ディレクトリが削除されない。postfixadminのconfig.inc.phpにオプション設定があるが、シェルスクリプトで各動作が行えるようだ。シェルスクリプト・・・書けねぇ。postfixadminでメールボックスを削除するPostfixAdminのイケてないところこの辺に該当の対処が書かれている。cronを使って削除する方法のようだ。DBIx::Class(DBIC)でtimestamp的なカラムの自動更新Mojoliciousでactionの前後に実行される独自のHookを作る。