Back to page

− Links

 Print 

プロバイダメールのサーバ集約で悩む :: Nest Of Hawk

xpwiki:プロバイダメールのサーバ集約で悩む

Gentoo Linuxな生活​/サーバ設定関連[1]

Table of contents
  • せっかく
  • Fetchmailでメールを取ってくる
    • Fetchmailインストール
    • 設定します
  • Cyrus-imapdの自動振り分け機能を使ってみる。
    • timsievedのための設定変更

せっかく anchor.png[2]

結構強固なメールサーバを立てたのですから、はっきり言って、プロバイダのメールってもういらんのですよな。あとはLDAPを強化するぐらいでさ。
SPAMフィルタもウィルスフィルタもあるんなら、そっちに移行したいのが人情ですよね。

Page Top

Fetchmailでメールを取ってくる anchor.png[3]

プロバイダのメールをPOP3でとってきて、自分とこのサーバのMTAに流し込んでやれば、プロバイダ宛のメールもウィルスチェックしてくれるわけ。SPAM対策にもなるしね。と、言うわけで、これをやってくれるソフトがFetchmailです。

Page Top

Fetchmailインストール anchor.png[4]

emerge -b fetchmail

完了♪

Page Top

設定します anchor.png[5]

自分のアカウントのホームディレクトリに.fetchmailrcというファイルを作ってやり、これにfetchmailが動作するユーザごとの設定を書き込んでやります。私の設定はこんな感じ。

defaults
protocol pop3
flush   ←サーバにメールを残しておく場合はkeep指定
no mimedecode
smtphost サーバホスト名

poll POPサーバ user ユーザ名 password パスワード is ローカルユーザ名 here

プロバイダのプロトコルPOP3,メールはとってきた後削除、MIMEヘッダデコード無し、smtp送信するホストは自分のサーバ、あとはPOPサーバにユーザ名、パスワードで問い合わせ、ローカルホスト(here)のローカルユーザ宛に転送すると。
これだけ。で、fetchmailコマンドを実行すると、メールを取ってきてくれる様が解るはず。
うまくいったら、定期起動に設定します。fetchmailデーモン化も出来るんですが、fetchmailごときをメモリに常駐させたくなかったので、個人のcrontabに書き込んでやります。

cronグループに、ユーザcrontabを利用したいユーザを追加して、

$ crontab -e
以下の行を書き込む
*/15 * * * * /usr/bin/fetchmail >/dev/null

あっさり。15分毎に起動設定でよしとしました。

Page Top

Cyrus-imapdの自動振り分け機能を使ってみる。 anchor.png[6]

Cyrus-imapdには、受信メールを自動振り分けするsieveという機能があります。コレを利用するために、timsievedにアクセスするクライアントの機能を使用いたします。これには、SquirrelMailのプラグイン[7]を利用して行うことにします。

Page Top

timsievedのための設定変更 anchor.png[8]

/etc/postfix/main.cfの

mailbox_transport = cyrus
                              ↓変更
mailbox_transport = lmtp:unix:/var/imap/socket/lmtp

fallback_transport = cyrus
                              ↓変更
fallback_transport = lmtp:unix:/var/imap/socket/lmtp

で、先ほどのプラグインダウンロードページ[7]でダウンロードしたプラグインを、squirrelmailがインストールされているディレクトリ(デフォルトだと/var/www/localhost/htdocs/squirrelmail)のpluginsディレクトリの下に展開します。avelsieveというディレクトリに展開されますので、そこに移り、config_sample.phpをconfig.phpとコピーします。基本的には何もいじらないで動く筈ですが、おいちゃんは、暗号化パスワードしか許さない設定にcyrus-imapdをしているので、

$preferred_mech = "DIGEST-MD5";

に変更しております。で、再度squirrelmailのconfigureを起動します。

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books (LDAP)
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database

D.  Set pre-defined settings for specific IMAP servers

C.  Turn color on
S   Save data
Q   Quit

Command >>

8 pluginsを選びます。

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Plugins
 Installed Plugins
   1. secure_login
   2. admin_add
   3. administrator
   4. abook_import_export
   5. address_add
   6. avelsieve
 Available Plugins:
   7. gpg
   8. info
   9. translate
   10. squirrelspell
   11. spamcop
   12. filters
   13. calendar
   14. abook_take
   15. fortune
   16. retrieveuserdata
   17. newmail
   18. ldapuserdata
   19. bug_report
   20. compatibility
   21. sent_subfolders
   22. show_ssl_link
   23. mail_fetch
   24. listcommands
   25. message_details
   26. delete_move_next
R   Return to Main Menu
C.  Turn color on
S   Save data
Q   Quit

Command >>

有効にしたいプラグインの番号を選択すると、Installed pluginsに移動します。avelsieveが有効になってるのがわかりますね?ついでに、secure_loginって奴(これはデフォルトで付いている)が、http://でアクセスしても、自動的にhttps://[9]に買えてくれるプラグイン。これも有効にしました。

sieve.jpg

うまくいくと、右の画像のようなインタフェースが表示されます。日本語化されていないので、英語で表示されますが、難解なsieveをせこせことエディタで編集するよりもぜんぜんまし。しかもhomeディレクトリに.sieveと言うファイルを置いて、振り分けを行うような設定も出来るのですが、それだとホームディレクトリのパーミッションを変更しないといけないので、あまりおいしくない。そう考えたらこっちのほうが数倍便利です。是非とも使ってみてくだされ♪


Last-modified: 2009-08-19 (Wed) 01:22:20 (JST) (4126d) by maruo