H24年末、自前のメールサーバを新サーバ機に移設しました。
しかし、来るわ来るわ、スパムたち。
件名:「様々な乱△パーティーに無料で参加できる!」などと教育上よろしくない
謳(うた)い文句のメールが朝から晩までメーラ(Thunderbird)を賑わせている。
軽く、1アカウント・1日当たり、4,50通来ている。全体では100通以上だろう。
これが、自前メールサーバの宿命なのでしょう。とにかく、なんでもいいから、スパムメール対策です。
これに着手しなければ、とてもメールサーバとして使えそうにありませんな。
旧サーバ機では、Milterを導入していましたが、それでもスパムは完全に防げないでいました。
そこで、メーラ側(クライアント側)での対策も講じてみました。
そのとき導入したのが、POPFileです。
学習能力があり、使い込めばかなりの確率で
スパムメールを振り分けてくれる、スグレモノです。
新サーバ機でのMilterの導入も検討しているのですが、今回は手っ取り早くPOPFileで
まずスパム対策をやってみることにしました。
ThunderbirdでIMAPSの設定は、多くのサイトで紹介されています。
しかし、IMAPS(IMAP)をPOPfileで使う方法を具体的に示しているサイトを
見つけることが私にはできませんでした。
だから、今回の設定を一応覚書として書いておきます。
大まかな手順==================================================
- ThunderbirdでIMAPSで受信
- ThunderbirdでIMAPアカウント内にバケツ用フォルダ作成
- POPFileインストールimap.pmモジュール有効化
- POPFileのバケツとIMAPアカウント(IPAMサーバ側)のフォルダを関連付け
- ThunderbirdでIMAPSで受信
この設定は、ネットにたくさんあるので、ここでは割愛します。
ちょっとだけ書いておくと、プロトコルをIMAP、接続の保護SSL/TLS、
認証方式「通常のパスワード認証」です。SMTPは、各自のプロバイダに合わせておく。 - ThunderbirdでIMAPアカウント内にバケツ用フォルダ作成これが重要です。
Thunderbirdの左のウィンドウ内のIMAPアカウントを右クリックし、新しいフォルダを作成し、POPFileのバケツに対応付けした名前をつけます。(図1)
(名前の付け方はご自由に、ただし日本語名は文字化けの可能性大です。)私の場合は、log、work、personalなどです。最低でもspamとunclassifiedはあったほうがいいようです。ここで作成したフォルダが、あとの操作で、IMAPサーバのホームディレクトリに同じ名前で自動的に作成されます。※この操作を最初にしていないと、IMAPサーバにはフォルダが作成されません。私が調べたほとんどのサイトにはこのことが記載されていませんでした。
なかには、あたかもIMAPサーバにログインして直接フォルダを作成するかのような記述もあり、
自前のサーバでしか使えないと思える記述もみられました。
(たぶん、ある手順を踏めばサーバに直接フォルダを作成できるのかもしれません。)私は、最初、この情報に引きづられて、直接IMAPサーバのホームディレクトリにフォルダを作成したり
所有権やパーミッションを変更したりいろいろやって、ものすごく悩みました。結論は、IMAPサーバでの直接的な操作は一切不要です。
IMAPサーバでのフォルダ生成はPOPFile自身がサーバにログインし、
本設定でThunderbird内に作成したフォルダを自動生成します。そうでなければ、プロバイダのサーバではPOPFileが使えないということになります。 - POPFileインストールimap.pmモジュール有効化
POPFileのインストールやimap.pmモジュールの有効化(インストール)も、多くのサイトで記述されているので、ここでは、簡単に。私のOSはUbuntu12.04なので、「Ubuntuソフトウェアセンター」からインストールしました。
インストール後、ブラウザ(Firefox)を起動し、http://localhost:7070でPOPFileのコントロールセンタにアクセスします。「バケツ(bucket)」でlogやpersonalなどの振り分けに必要なバケツを作成します。
Thunderbirdで作成したフォルダに合わせておくとわかりやすいです。
しかし、必ず合わせる必要はありません。「詳細設定」>imap_enableの値を「0」から「1」へ変更します。
「更新」クリック。POPFileの再起動。(#service popfile restart)※このとき、あるサイトでは、pop3_enableは「1」から「0」へ変更と書いてありましたが、
おそらく、従来のpop3で受信しないというのが前提かと思います。
もし、pop3のみ対応のメールアカウントも併用しているのであればこれは「1」のままでよいと思います。
私は「1」のままにしています。 - POPfileのバケツとIMAPアカウント(IPAMサーバ側)のフォルダを関連付け
最後の仕上げです。
POPFileの「設定」を開きます。
(ここで、「言語を選択してください」で「Nihongo」をクリックすると表示が日本語に変わります)IMAPセクションで、
IMAPサーバーホスト名:各自のプロバイダのものに合わせる、IMAPサーバーポート番号993、
SSLを使用する:チェック、IMAPアカウントユーザ名:プロバイダのメールアカウント、
IMAPアカウントのパスワード:プロバイダのメールアカウントのパスワード。
入力後、「適用」を押す。監視フォルダ1セクションで(図2)
「INBOX」受信フォルダを選択後、直後の「適用」をクリック。
その後、「フォルダリストの更新」の横の「実行」をクリック。(このとき、おそらく、POPFileがIMAPサーバにログインし、Thunderbird内に作成されたフォルダに対応付けたフォルダをサーバのホームディレクトリに自動生成するようです。(図3))
すると、バケツ名の下に表示されているドロップダウンリストにIMAPサーバに生成されたフォルダ名が現れます。
あとは、必要な名前のホルダをバケツに対応させて、最後に下の「適用」をクリックします。
念の為に、POPFileを再起動させておきます。
以上でPOPFileのIMAPに関連した設定は完了です。
あとは、通常のPOPFileの学習をおこなって、賢くしてやります。
※重要:現在のところ、IMAPアカウントは1つのみに対応しているようです。
マルチアカウントはPOP3利用時に限られている感じがします。それらの設定項目が見当たりません。
このままでは、複数のIMAPアカウントを管理できないのでちょっと不便です。
これからの課題です。
ちょっと、逃げで、解決。
自前IMAPサーバ側で、複数のIMAPアカウント宛のメールをすべてshigi-infoへ転送する。
そうすれば、shigi-info側でPOPFileが振り分けてくれる。しかし、すべてshigi-infoのバケツに
入るので注意。各アカウントのバケツ用フォルダには入らない。(つまり、Thunderbirdに各アカウントの設定は不要)
つまり、aliasに転送設定をすることで、一応、解決。
しかし、何かちょっとPOPFileの使い方がちがうような。
まぁ、一時しのぎ、ということで。