開発畑トップ   »  PHP   »  ちょっと変わったスパムメールフィルターを作ってみた。

ちょっと変わったスパムメールフィルターを作ってみた。

2013年01月10日

Category:PHP

tag: PHP , スパムメール対策 , Gmail , mailfilter

あけましておめでとうございます(遅

今年はもうちょっとブログ更新を増やします(たぶん

ということで、ネタ作りました。

タイトルにもあるように、「ちょっと変わったスパムメールフィルターを作ってみた」です。

では、いってみましょう。


きっかけ

ふと思ってしまいました。
「Gmailのメールフィルターって賢いよなー」と。
「普段使ってるメアドにGmailのメールフィルタ機能付けれないかな」と。

で、以下の方法を考えました。

  1. 普段使いのメールから、メール受信した際にCCでGmailにメール送信
  2. PHPでごにょごにょして、Gmailの中身チェック
  3. Gmailにさっきのメールが(INBOXに)あれば、まともなメール。ごみ箱に入ってれば(INBOXになければ)スパムメールと判定
  4. で、普段使いのメールのメール受信を止めるか何とかする

ここで問題となるのはメール受信(サーバーにメールが来た時点)をトリガーにしてPHPを動かすこと

なんとなく出来ることは知ってたのですが、やり方がよくわかってなかったのでGoogle先生に聞いてみました。

で、.mailfilterってファイルをサーバーのメールボックス(のアカウントディレクトリ)以下に入れてごにょごにょすれば行けるっぽい事が判明。
ってことで、やってみました。

作った

で、できたのでGitHub(初めて使った)にアップしてみました。
ほしいかた(いるのか?)はどうぞ。
※MITライセンスなので自由に使えます~

spamcleaner

使い方はREADME.mdみてね

あとがき

※GmailってPOP3接続だとメール削除できないんですね。(IMAP接続ならいける)
今回メール受信ライブラリにQdmailReceiverっての使わせてもらったんだけど、IMAP対応してないので、対応させちゃいました♪(といっても、自分が必要な機能しか入れてませんが^^;)
プログラム書いてて一番時間かかった部分がIMAP接続処理だったという。
PHPでIMAPモジュール不要でIMAP接続できるクラスライブラリってあるんだろうか。

この記事はコメントの受付をしていません。