ページへ戻る

− Links

 印刷 

プロバイダメールのサーバ集約で悩む のバックアップソース(No.1) :: Nest Of Hawk

xpwiki:プロバイダメールのサーバ集約で悩む のバックアップソース(No.1)

  Next »[4]
[[Gentoo Linuxな生活/サーバ設定関連]]

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

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

**Fetchmailインストール [#me3ee097]
 emerge -b fetchmail

完了♪
**設定します [#bbbca40f]
自分のアカウントのホームディレクトリに.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分毎に起動設定でよしとしました。

*Cyrus-imapdの自動振り分け機能を使ってみる。 [#cf86f2d6]
Cyrus-imapdには、受信メールを自動振り分けするsieveという機能があります。コレを利用するために、timsievedにアクセスするクライアントの機能を使用いたします。これには、[[SquirrelMailのプラグイン:http://www.squirrelmail.org/plugin_view.php?id=73]]を利用して行うことにします。
**timsievedのための設定変更 [#f4d8d6b8]

/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

で、先ほどの[[プラグインダウンロードページ:http://www.squirrelmail.org/plugin_view.php?id=73]]でダウンロードしたプラグインを、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://に買えてくれるプラグイン。これも有効にしました。

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


  Next »[4]