Movatterモバイル変換


[0]ホーム

URL:


BLOGTIMES

cles::blog

平常心是道
« :: »
2017/01/03

サーバーサイドのメール振り分けを maildrop から Pigeonhole Sieve に

  dovecot  postfix  thunderbird  sieve 
このエントリーをはてなブックマークに追加

Thunderbird Sieve Extension - サーバーサイドのメール振り分けを maildrop から Pigeonhole Sieve に

自前サーバで IMAP を使う利点はサーバサイドでメールのフォルダ振り分けができることにあります。

これまではメールの振り分けにCourier maildrop を使っていたのですが、MTA を qmail から Postfix に乗り換えたところ、Postfix の仕様でバーチャルドメインの配送( virtual_transport = virtual )では .forward が使えないということで、思い切って配送にDovecot LMTP (virtual_transport = lmtp:unix:private/dovecot-lmtp) を使うようにしてみました。

Dovecot LMTP を配送に使ったとしても、依然として maildrop や procmail 等の外部プログラムの呼び出しはできません。しかしながら、Dovecot にはSieve*1 と呼ばれているメール向けのフィルタリング言語を実装したPigeonhole という処理系がプラグインとして含まれています。今回はこれを有効化してやることで、maildrop や procmail 等の外部プログラムを起動できなくても Dovecot だけでフィルタリング処理を完結させるように構築してみました。

フィルタリングの定義はメーラーから変更できる

これまでサーバサイドにあるフィルタリングの定義のメンテナンスは ssh でログインしてターミナルから行っていました。Pigeonhole にはManageSieve Server というフィルタリングの定義を管理するためのサーバ機能が用意されており、これを使うとssh 等を使わずにフィルタ定義のメンテナンスが可能です。このプロトコル自体はRFC 5804 - A Protocol for Remotely Managing Sieve Scripts で定義されているようです。

このプロトコルに対応したクライアントは何種類もあるようですが、僕は普段、メーラとして Thunderbird を使っているので、Thunderbird Sieve Extension を使うことにしました。

注意点としてはプロジェクトのサイトthsmi/sieve にも書いてあるようにSASL Plain と Login にしか対応していないことと、現状の Thunderbird 最新版 ( 45.6.0 ) で動作させるためにはDevelopment Builds に置いてある最新版 ( sieve-0.2.3h.xpi ) を使う必要があることでしょうか。

例えば X-ML-Name が foo か bar か baz の場合には INBOX.foobarbaz フォルダに振り分け、それ以外はデフォルトのフォルダに保存する場合には以下のようなスクリプトになります。全般的に事例が少ないので苦労しましたが、メーラーに向かってプログラミングするというのは新鮮ですね。リアルタイムで構文チェックしてくれるところも便利です。

require ["fileinto","mailbox","imap4flags", "editheader"];if header :is "X-ML-Name" ["foo","bar","baz"] { addheader :last "X-Filtered" "foobarbaz"; fileinto :create "INBOX.foobarbaz"; stop;}#keep;

byhsur at 15:49[5年前][4年前][3年前][2年前][1年前][1年後][2年後][3年後][4年後][5年後] |
こんな記事もあります 「フィルタリング IMAP Dovecot
神奈川の入試ネット出願システムの不具合が復旧
Thunderbird で Exchange Online ( m365 ) の共有メールボックスにアクセスする
MS の 基本認証廃止は 10 月 1 日から
Google アカウントの基本認証は 5/30 でサポート終了
IIJmio が 3 月中旬から危険 SMS 拒否設定機能の提供を開始
メールアドレスポータビリティ?
中国製のスマホについてリトアニア国防省が警告
python-o365 を使って O365 アクセストークンを取得する
CentOS 7 に OAuth2 対応の fetchmail7 を入れる
Office 365 の Basic Authentication は 10/13 に廃止に
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/9054
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL:Yahoo! JAPAN IDでログイン

« :: »
Copyright © 2004-2023 by CLES All Rights Reserved.
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 .アーロンチェアのポスチャーフィットを修理(99661)
2 .年次の人間ドックへ(99078)
3 .福岡銀がデマの投稿者への刑事告訴を検討中(99067)
4 .三菱鉛筆がラミーを買収(98677)
5 .2023 年分の確定申告完了!(1つめ)(98646)
最新のエントリ
cles::blogについて
誰が書いてる?
最近行った場所
サイトポリシー
タグ一覧
検索ワードランキング

Referrers

    Powered by CLES
    Nucleus CMS v3.31SP3/w memcached
    21375888(W:6513 Y:1545 T:1707)
    cles::blogのはてなブックマーク数
    benchmark


    [8]ページ先頭

    ©2009-2025 Movatter.jp