空メール処理まとめ

やりたいこと

  • postfixqmailで空メールや添付メールを受け取り、プログラムにリダイレクトして処理する
  • プログラムは/path/to/mail.php
  • メールアドレスはsomeone@hostname.hostdomain

postfix
Postfixのalias(エイリアス)を使う。
/etc/aliasを編集

sudo vi /etc/aliases

末尾に以下を追記。

someone: "|/usr/bin/php /path/to/mail.php"

エイリアスを有効にするために以下のコマンドを実行。

postalias /etc/aliases
/etc/init.d/postfix restart

これで完了

Qmail
dot-qmailファイルを使う
/var/qmail/alias/.qmail-someoneを編集

sudo vi /var/qmail/alias/.qmail-someone

以下を追記

|/usr/bin/php /path/to/mail.php

これで完了

プログラム側では、

<?php
$source = file_get_contents("php://stdin");

でメールデータが取得できるので、適当に解析して処理する