Mail

メールをプログラムに引き渡す

/etc/exim4/conf.d/router/(例)960_exim4-config_phpを作成

karamail_alias: #routerの名前、既存以外だったらなんでもよさげ
       driver = accept
       domains = example.jp #ドメイン指定
       local_parts = karamail #ローカルパート指定
       transport = karamail_transport #以下に続くtransport名の指定

/etc/exim4/conf.d/transport/(例)40_exim4-config-karamailを作成

karamail_transport:
       driver = pipe
       command = /var/www/program.php
       log_output = true
       user = mail #program.phpの所有者
       group = mail

これで/etc/init.d/exim4 reloadをする。
※/etc/aliasesにkaramailを追加する必要はない
ログにはこんな感じで出る

2009-01-08 13:53:28 1LKmtc-00056l-Kd <= yours@test.com U=yours P=local S=329
2009-01-08 13:53:28 1LKmtc-00056l-Kd => karamail <karamail@example.jp> R=karamail_alias T=karamail_transport
2009-01-08 13:53:28 1LKmtc-00056l-Kd Completed

PHPに引き渡す

catchallの設定

/etc/exim4/conf.d/router/950_exim4-config_catchall

catchall:
      debug_print = "R: catch_all for $local_part@$domain"
      driver = redirect
      data = ${lookup{*}lsearch{/etc/aliases}}

/etc/aliases

aya : aya
info : info
* : aya

固定Strings+ランダムStrings@domain.com // local_part_suffix

例:aya+random at domain.com ->

http://www.exim.org/lurker/message/20050502.212309.0f835758.en.html


Last-modified: 2012-03-12 (月) 17:05:42 (166d)