2013年6月28日金曜日

[FreeBSD] Sieve を書いてみた

Sieve は、メールフィルタリングのための言語です。

メールサーバー上にフィルタリングルールを定義したファイルを予め置いておき、サーバー上でメールをフィルタリングすることでクライアントの環境に依存しない点が売りです。

今回は、Sieve の Dovecot 向け実装であるPIGENHOLEをインストールしてみました。

[A] インストール

インストール自体は、メールサーバーにて

cd /usr/ports/mail/dovecot2-pgenhole/
make config-recursive
make
make install clean


で終了。

PIGENHOLE のSieve は、Dovecotのプラグインとして提供されているのでこのプラグインを有効にします。この設定は、受信したメールのローカルユーザーへの配信をLDA/LMTPのどちらで行なっているかに依存するので予め確認しておく必要があります。デフォルトでは、LDAを用いているようです。

以下LDAの場合の例 /usr/local/etc/dovecot/conf.d/90-plugin.conf に以下を追加

protocol lda{
  mail_plugins = sieve
}



[B} フィルタリングルール作成

フィルタリングルールは、ルールを適用したいユーザーのホームディレクトリに「.dovecot.sieve」を作成してこのファイルの中に記述していきます。

以下はそのサンプル。

require ["fileinto"];

if address :is "from" "foo@example.jp" {
  fileinto "INBOX.spam";
}


foo@example.jp からのメールをspamフォルダーに振り分けます。そしてこの.dovecot.sieveを以下コマンドでコンパイルして「~/.dovecot.svbin」として出力します。

sievec ~/.dovecot.sieve ~/.dovecot.svbin

これで次回メール受信時から作成したルールが適用されます。ルールが適用されないようであれば~/.dovecot.sieve.log にログが出力されるので参考にします。

今回は、ここまで

今後は、スクリプトファイルのUNICODE対応やThunderbirdのsieveのスクリプトを編集できるAdd On等を試してみたい。。。



2013年6月27日木曜日

[FreeBSD] dovecot2 のインストール

要点のみをかいつまんで。。。

1) コンパイル と インストール

2) 設定ファイル例をコピー
/usr/local/share/doc/dovecot 以下の dovecot.conf と conf.d ディレクトリを /usr/lolcal/etc/dovecot にコピー

3) 認証プロトコルの設定
今回は、テスト用途なんで plain 認証でいきます。 先ほどコピーしたconf.d ディレクトリ中の

10-ssl.conf 中の

#ssl =yes

ssl = no

に変更し、同ディレクトリ中の 10-auth.conf の

#disable_plaintext_auth = yes



disable_plaintext_auth = no

とし、明示的にsslを使わない様に変更。これに気づかずかなり時間を食った

4) デーモンプロセス 始動

/usr/local/etc/rc.d/postfix

起動時に自動でデーモンを起動した場合は、

/etc/rc.conf に以下を追加

dovecot_enable="YES"





2013年6月10日月曜日

[FreeBSD] Windows の共有ディレクトリをマウント

CentOS に続き FreeBSDでも


mount_smb -I host-addr  //host-name/ /mnt/path-to-mount-point


ex) mount_smb -I 192.168.100.2 //win-pc/ /mnt/windir