LinuCレベル2 Version 4.5 202試験の例題と解説

211.2 電子メール配信を管理する

今回は202試験の試験範囲から「211.2 電子メール配信を管理する」についての例題を解いてみます。

■トピックの概要
このトピックの内容は以下の通りです。

<211.2 電子メール配信を管理する>
重要度 2

<説明>
クライアント用の電子メール管理ソフトウェアを実装し、到着したユーザの電子メールをフィルタ、並び替え、および監視する。

<主要な知識範囲>
・Sieve の機能、文法、演算子を理解している
・Sieve を使用して、送信者、受信者、見出し、サイズでメールをフィルタしたり並べ替える
・procmailを知っている

<重要なファイル、用語、ユーティリティ>
・条件演算子と比較演算子
・keep, fileinto, redirect, reject, discard, stop
・Dovecot の vacation 拡張

■例題
Sieveを使用してメールの自動振り分けを行います。
下記の条件を満たすSieveルールとなるように空欄に入る値を選択してください。

(振り分け条件)
メールヘッダの送信者メールアドレスのドメイン部が example.jp のメール受信した時に example フォルダに振り分ける。

(Sieve設定)
require ["fileinto"];

if ________________________________
{
    fileinto "example";
}

1. address == "*@example.jp"
2. address :contains "@example.jp"
3. address :domain :is "from" "example.jp"
4. from :domain :is "example.jp"

※この例題は実際の試験問題とは異なります。


解答と解説

答えは「3. address :domain :is from example.jp」です。

Sieveは電子メールをフィルタリングするための言語です。Sieveを使用すると、特定の条件に従ってメールを削除したり、転送したりすることができます。また、メールフォルダの振り分けを行うこともできます。

メールヘッダに記載されているメールアドレスの評価を行う時は address コマンドを使用します。
addressコマンドは下記のように指定することができます。

address [ADDRESS-PART] [MATCH-TYPE] "ヘッダ名" "キーワード"

[ADDRESS-PART]
  :localpart  メールアドレスのローカル部を評価対象とします。
  :domain     メールアドレスのドメイン部を評価対象とします。
  :all        メールアドレス全体を評価対象とします。

[MATCH-TYPE]
  :is         完全一致によるマッチングを行います。
  :contains   部分一致によるマッチングを行います。
  :matches      ワイルドカード("*","?")を使用したマッチングを行います。

例題の振り分け条件では

ADDRESS-PART = ドメイン部(:domain)
MATCH-TYPE = 完全一致(:is)
ヘッダ名 = 送信者メールアドレス("from")
キーワード = "example.jp"

となりますので、Sieveルールは以下となります。

address :domain :is "from" "example.jp"

その他の選択肢はすべて書式エラーとなります。

Sieveはメールアドレスの他にも件名やその他のメールヘッダの内容等でメールフィルタリングを行うことができます。
メールアドレス以外の評価コマンドも調べておくとよいでしょう。

■例題解説作成者
LPI-Japanプラチナスポンサー
株式会社 デージーネット OSS研究室 大野 公善氏

ページトップへ