procmailによる空メール登録や返信などの自動処理

ガラケーで会員登録の方法としてかなり流行った、空メールによる登録もスマホが主流となった今でもよく使用する手法かと思います。
サーバ側でメールを受信して条件付けをして処理を分ける Procmail  を使用して実現することができ、専用サーバやroot権限があるサーバでしたらインストールすることもできますが、安価なレンタルサーバでは利用できる環境はあまりありません。

諦め気味に探していましたが、カゴヤ・ジャパンのサーバなら共用サーバでも対応することができます。

KAGOYA 共用サーバのS10(ちなみに月額1,080円)以上のプランでも利用できるので、小・中規模のサイト構築では利用機会もあると思います。

サーバ側の設定についてもサポートに解説もあるので比較容易に設置することができ、作業ステップとしては以下の2点となります。

1.サーバのコントロールパネルでのメールの転送設定

サーバのコントロールパネルでカゴヤのデフォルドメイン(@s3s-0.kagoya.net など)へのメールの転送設定を行います。
設定手順はKAGOYAサポートページ書かれているので、その通りに設定します。

◼︎KAGOYA サポート
届いたメールをウェブサーバーのプログラムで処理したい。

2..forward と .procmailrc を設置

FTPでサーバのホームディレクトリ(public_htmlフォルダの上のディレクトリ)に .forward と .procmailrc を設置して、procmail でメールをトリガにしたプログラムへの受け渡しを行います。

.forwardの設定

.forward には、 procmail を介してメールを渡す設定するのみとなるためシンプルで、以下のように書くだけになります。

◼︎記述
“|IFS=’ ‘ && exec /usr/bin/procmail -f- || exit 75 #username”

KAGOYAサーバの場合はこのようになります。

"|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #kir123456"

.procmailrcの設定

SHELL=/usr/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin
MAILDIR=$home/Maildir
DEFAULT=$MAILDIR
LOGFILE=$HOME/procmail.log

:0
* ^To:.*testmail@test.jp
| /usr/local/bin/php /home/kir123456/public_html/regist.php

3.処理するプログラムを作成する。

あとは普通にPHPやPerlなどでプログラムを作成すれば空メールからの処理を行うことができます。

regist.phpファイル

#!/usr/local/bin/php -q
//PHPでファイルを自動作成する処理(以下略)
//

root権限があって、コスト的にも安価で利用できるAWSなどクラウドサーバでも構築することはできますが、KAGOYAサーバを使用すれば、サーバに詳しくない方でも利用できること、運用後のサーバ管理も安心です。
また、2週間はトライアル期間となる、料金はかからないので試してみてから、本利用でも良いかと思います。

KAGOYA共用サーバの情報はこちらです。



(Visited 761 times, 1 visits today)