SpamSieveでMacの迷惑メールを処理してiPhone/iPadもスッキリ!

迷惑メールの最近の傾向は、ウクライナのチャリティーやNFT、AI関連でしょうか。マッチングサービスやポルノ、仕事の紹介、健康食品、サプリメント、医療サービス、不動産購入、高額商品、保険、旅行など相変わらずバラエティー豊富です。何より、最新のトレンドを捉えるのが素早いのは相変わらず!

ネットワークやデバイスだけでなく、私たちのメンタルにも地味に嫌な感じを与えるのが、この迷惑メール=spam(ちなみに表記は「スパム」じゃないよ!カタカナは商標だから注意ね!)!私たちが毎日やり取りしているメールの、実に約85%がゴミなんです!!

SpamSieve
SpamSieve

私はここ数年、以前にも増して迷惑メールに悩まされていますが、今回紹介するSpamSieveで少しは解消されたかもしれません。20年も実績がある優れたユーティリティーなのに、全然知らなかった…iPhone/iPadユーザーにもメリットがあるので、お勧めします。

SpamSieveって、どんなユーティリティー?

プロバイダーやアプリの代わりにSpamSieveが迷惑メールを処理
プロバイダーやアプリの代わりにSpamSieveが迷惑メールを処理

SpamSieveは、迷惑メールを自動的にフィルタで選別できるMac用ユーティリティーです。sieveとは、ふるい/裏ごし器/ざるのこと。メールアプリケーションやメールサーバーの迷惑メールフィルタよりも強力な機能で、必要なメールだけを仕分けしてくれます。アイコンがちょっと懐かしくてダサい雰囲気なのは(なぜかわざわざ写実的な別アイコンもある)、それだけ歴史があるって証拠かも 😛

  • 迷惑メールフィルタリング用ユーティリティーで、メールアプリケーションと連動して機能する(SpamSieve自体にメールの送受信機能はない)。
  • macOS 10.9以上(macOS Ventura 13対応)。iOS版はないものの、Macでメールをフィルタリングすることで、結果としてiPhoneやiPadでも恩恵あり
  • メールクライアントのプラグインやスクリプトとして動作し、Apple Mail以外にも、Airmail/GyazMail/MailMate/Mailsmith/Outlook/Postbox/PowerMailなどを幅広くサポート。Entourage/MailForgeなど、古いメールアプリケーションにも対応しているが、SparkやSparrow、Thunderbirdなどは非サポート。
  • IMAPでの動作を推奨。一つのMacにインストールしたSpamSieveでメールを処理しておけば、他のデバイス(Mac/Windows/iOS/Androidなど)でメールを受信しても処理済みの状態で表示される。また、ExchangeやPOPでも動作。
  • 全てSpamSieveが動作するMac上で処理される。メールサーバーの迷惑メールフィルタとは異なり、データが転送されることがない。また、メールサーバーにインストールするタイプでもないので、設定や管理、アンインストールも楽
  • SpamSieveをメインで動作させるMacを「ドローン」と呼ぶ。ドローン以外のMacには、メール.appの設定がiCloud経由で同期される。
  • 強力なベイジアンフィルタ(Bayesian filter)による、ほぼ誤検出のない高い精度。ベイジアンフィルタとは、確率統計的な手法を用いて分析し、分類するための方法で、他社の迷惑メールフィルタでも使われる。フィルタは、受信したメールを自動で学習したり、手動でトレーニングすることで、時間の経過とともに鍛えられ改善される。最初の目安は一週間程度。
  • 独自のルールを設定し、ホワイトリストとブロックリストをカスタマイズできる。正規表現など、さまざまな条件を設定して、効率的に分類可能
  • 単語の意味や文法上の扱い、用例などは、データベース化した辞書であるコーパスとして管理
  • 迷惑メールフィルタをかいくぐるために、キーワードを表示しないようにエンコードされたメールの内容も、SpamSieveがデコードし解析して適切に処理する。自分のメールアドレスを装った迷惑メールも排除したり、サーバーのフィルターに引っかかったメッセージも回収可能。
  • 日本語環境(単語の表記や文字コード)でも、正しく動作する。ローカライズ済み。
  • メールサーバーやプロバイダ、ホストを選ばずに動作する。複数のメールアカウントにも対応。
  • macOSの「連絡先」を参照して、取引先や同僚、家族、友だちからのメッセージが迷惑メールとしてマークされないように判断。
  • メールアプリケーションの新着メール通知をオフにし、SpamSieveが迷惑メールではないメッセージを受信した時のみ通知が可能。
  • SpamSieveの処理や学習状況は、ログで確認可能
  • 迷惑メールは、その行がカラーでハイライトされるので、見てすぐに判別できる。
  • AppleScriptをサポートしているので、他のアプリケーションと連動させたり、自分のワークフロー用に自由にカスタマイズできる。トレーニング用スクリプトファイルあり。

SpamSieveを使うと幸せになれる人

  • Mac迷惑メールに悩んでいる、管理者権限を持つ現代人
  • メインのデバイスがMacやiPhone/iPadのAppleユーザー
  • macOSのメール.appの設定や、プロバイダーの迷惑メールフィルタに満足できない皆さん
  • 複数のドメインのメールアドレスを、一括処理したい効率重視派
  • 社内または委託先の情報システム部門がない小規模組織や個人、あってもMacは無視されている日陰者
  • 迷惑メールのリンクをうっかり踏んでしまい、騙された・騙されそうになった、失敗を繰り返したくない

SpamSieveのココがいい!

  • とにかく、フィルタが高精度で強力!仮に誤判定しても、学習し直せばどんどん学習していく安心感がある。
  • SpamSieveは、通常メインでメールを受信するMacにインストールするだけでいい(「ドローン」と呼ぶ)。ドローン以外のMacにまでSpamSieveをインストールしたり、複数のライセンスを契約する必要がない。
  • 2002年9月にリリースされた、20年の実績!業界関係者からの評価も高い
  • リリース前のmacOS Ventura 13でも動作確認済みApple Silicon対応。パブリックベータ版も提供されるなど、開発体制も十分
  • 使い方も簡単。基本の学習が終われば、後はほぼメンテナンスのみ
  • ブロックリスト/ホワイトリストへの追加も、メールアプリケーションやプロバイダーの迷惑メールフィルタの設定と同じ感覚で使える。しかも、どのルールを使うかは、チェックボックスでオン/オフが可能
  • プロバイダーやメールアドレス、メールアプリケーションを変えても、SpamSieveのコーパスを引き継げる
  • ヘルプファイルやマニュアル(オンライン/オフライン)も充実(英語版)。最近、macOSのヘルプファイルまであるのは珍しい。フォーラムも活発。
  • コーパスや統計はmacOSの「ライブラリ」でアクセスできる。バックアップや、別のMacに設定を移す場合も、これをコピーすればOK。
  • $30(3,520円)の買い切りライセンス。30日間フルに試せるトライアルあり。
  • 統計データで、成果が数値で見える化されるのがスッキリ!

SpamSieveのココはイマイチだったり要注意…

  • 仕事で使っているMacに導入するなら、Macの管理者権限やmacOSの基礎知識、メールサーバー(プロバイダーの設定)など、ある程度のナレッジが不可欠
  • トレーニング用スクリプトは、AppleScriptの一部を書き換えて、指定の場所に置くだけだが、設定がちょっと手間かも
  • メールアプリケーションと連動して機能するので、Webブラウザーでメール使っている人は恩恵を受けられない
  • SparkやSparrow、Thunderbirdは、一部で人気のアプリケーションなので、サポートしていないのが残念な人もいるはず。
  • SpamSieveを機能させるには、メールサーバーやメールアプリケーションの迷惑メールフィルタ(の一部)を解除しなければならない。これは、他での処理が優先してしまうと、SpamSieveが機能しないため。とはいえ、SpamSieveだけで迷惑メールを処理するのは非効率。例えば、明らかなspamドメインはメールサーバーレベルで処理した方が効率的。
  • SpamSieveが迷惑メールを処理する時、外部スクリプトを呼び出すので、メールの数やネットワーク、デバイスのメモリ次第では、少し負荷が掛かる可能性はある。
  • SpamSieveをインストールしていない非ドローンのMacで先にメールを受信してしまうと、一時的にメールの誤認識率が上がってしまう
  • 設定した複数のルールは、いい感じに統合してくれたりはしない。関係したルールをハイライトするような機能もない。
  • 一日に1,000通以上のメールを受信するようなヘビーユーザーにも向かない

SpamSieveの使い方

以下は、SpamSieveをメール.appで使う場合の手順です。なお、受信用メールサーバーはIMAP、送信用メールサーバーはSMTPを使っています。

  1. メールをメインで受信する(SpamSieveをインストールする)Macは「ドローン」と呼ばれる。まず、ドローンのMacにSpamSieveをトレーニングするスクリプトをダウンロードし、スクリプトエディタで開く。
SpamSieveのトレーニングスクリプト
SpamSieveのトレーニングスクリプト
  1. スクリプト中の以下の部分に、SpamSieveを認識させたい自分のメールアカウントを登録する。複数のアカウントも設定可能。
    on accountNamesForDrone()
    return {“メールアカウント1”, “メールアカウント2”}
    end accountNamesForDrone
メールプラグインをアクティブに
メールプラグインをアクティブに
  1. スクリプトを実行してテストし、問題がなければ保存する。以下の場所にコピー(または移動)する。
    ~/Library/Application Scripts/com.apple.mail
  1. SpamSieveをダウンロードし、インストールする。メール.appが起動中の場合、一旦終了。SpamSieveを起動し、「Mail プラグインをインストール…」する。
  2. SpamSieveの「環境設定」は、特に変更する必要なし。私は「通知」-「サウンドを再生する」で、メール.appと違う通知音にしただけ。
  1. 「システム環境設定」-「セキュリティとプライバシー」でSpamSieveに「フルディスクアクセス」と「オートメーション」を許可する。
  2. メール.appを起動する。SpamSieveプラグインがアクティブなことを確認する。
  1. 「メールボックス」-「新規メールボックス」で、「このMac内」に「Spam」というメールボックスを新しく作る。このメールボックスは、メールサーバーやメール.appが処理して「迷惑メール」フォルダに分類してしまうのではなく、SpamSieveが処理した迷惑メールを移すためのフォルダとして機能する。
    「すべての迷惑メール」にあるメールをすべてドラッグ&ドロップで「Spam」メールボックスに移動する。これは、SpamSieveをトレーニングするための貴重な「教材」になる。
  1. 「メール」-「環境設定」-「ルール」で[ルールを追加]し、「Spam」という新しいルールを作る。「すべてのメッセージ」を「Spam」メールボックスへ移動させる。ルール適用のアラートが表示されたら、[適用しない]ボタンをクリックする。「Spam」ルールを、リストの一番上に移動させ、他のルールよりも先に適用する。
  2. 「Remote Training」という新しいルールを作る。「すべてのメッセージ」に対して、「AppleScriptを実行」「Apple Mail – Remote Training」に設定する。ルール適用のアラートが表示されたら、[適用しない]ボタンをクリックする。「Remote Training」ルールを、リストの一番上に移動させる。
  1. メール.appがSpamSieveを制御するセキュリティーアラートが表示されたら、[OK]ボタンをクリックする。
  2. 「メール」-「環境設定」-「迷惑メールの動作」で、「迷惑メールフィルタを有効にする」をオフにして、SpamSieveを優先させる。設定済みだったSpamSieve以外のルールもあれば、これもオフにする。
  1. メールを受信したら、SpamSieveのサウンドが鳴る。
  2. SpamSieveのトレーニングは、迷惑メールではないメールを複数選び、「メール」-「メッセージ」-「SpamSieve – 正常としてトレーニング」で、問題ないメールとしてSpamSieveに学習させる。同様に、「Spam」フォルダのspamメールを複数選び、「メール」-「メッセージ」-「SpamSieve – スパムとしてトレーニング」で、spamメールとしてSpamSieveに学習させる。
    以下のスクリーンショットは、プロバイダーの迷惑メールフィルタを全部オフにはしていない時の状態。SpamSieveが機能する前に、すでに「迷惑メール」フォルダに分類されてしまっている点に注意。
「spamとしてトレーニング」で、SpamSieveに手動で学習させることも可能
「spamとしてトレーニング」で、SpamSieveに手動で学習させることも可能
  1. 間違って、問題ないメールが「すべての迷惑メール」に分類されてしまっていたら、「SpamSieve – 正常としてトレーニング」することで、「全受信」フォルダへ移動される。
  2. ドローン以外のMacに、iCloud経由でメール.appの設定が同期される。「メール」-「環境設定」-「ルール」で「SpamSieve」と「Remote Training」2つのルールのチェックボックスをオフにする。
プロバイダーやアプリの代わりにSpamSieveが迷惑メールを処理
プロバイダーやアプリの代わりにSpamSieveが迷惑メールを処理
  1. メールサーバー側の迷惑メールフィルタが先に働くと、メール.appでメールを受信する時点ですでに「迷惑メール」フォルダに分類されてしまうため、SpamSieveでは処理されない。SpamSieveにspamメールを認識させるために、メールサーバー側のspamフィルタを(徐々に)解除する。設定変更は慎重に。
  2. メールを受信するとSpamSieveが作動して、迷惑メールは「Spam」フォルダに格納される(もう「迷惑メール」フォルダには入らない)。
    SpamSieveは、迷惑メール度をカラーで示す。高い順に青、グレー、紫、赤、オレンジ、黄色。問題ないメールが間違って迷惑メールになっていないか確認するには、一番軽度の黄色とオレンジのメールをチェックする。
  3. 学習結果は、SpamSieveを起動して「フィルタ」-「コーパスを表示」や「統計データを表示」で確認する。また、「フィルタ」-「ブロックリストを表示」「ホワイトリストを表示」で、ブロックまたは許可するルールを新規に追加したり、細かく調整していく。

spamメールが抱える問題

今さらですが、そもそも迷惑メールの何が問題なのかも、簡単に振り返っておきましょう。

セキュリティーリスクに晒される

全世界で1日に送受信されているメールのうち、約85%が迷惑メール!広告が36%、アダルトコンテンツが31.7%、金融関係が26.5%。ほぼ全てがマルウェアやデータ漏洩、振り込め詐欺絡みで、配信業者は平均して1日で$7,000も売り上げを稼いでいるなら、そりゃなくならないはず。

私は、メールアドレスがたびたびインターネットに漏洩させられてしまったことで、世界中の迷惑メール業者の名簿にインデックスされています。サービス側のハッキングやミスで漏洩した情報は、ユーザー側ではどうしようもありません。さらに転送・拡散され、まとめられることで、迷惑メールは確実に増えていきます。まっさらにするには、ドメインごと捨てるしかありません。

ネットワークトラフィックやディスクスペースを浸食する

トラフィックやストレージに負荷を掛けるのも無視できない問題です。一つ一つは小さなデータだとしても、受信する通信時間やメールサーバーとローカルのディスクスペースは着実に喰ってしまいます。

巨大な添付ファイルを付けたメールは今でこそ少ないですが、電凸のような迷惑メール大量送信の嫌がらせは、大企業が日常的に受けています。電力需給が逼迫したり、エネルギー危機が叫ばれている昨今なのに!

コミュニケーションリスクや維持管理費、教育コストが嵩む

メール全体の約85%が迷惑メールということは、その処理に貴重なリソースが浸食されている可能性もあるということ。これは何としても防がなければなりません。

私も日頃から、自分ができるセキュリティー対策はしています。ただ、それがちょっと勇み足になっている面も…実は、複数の場所でフィルタを設定し、厳し目に調整していることもあって、一部のドメインのメールが届かないことがあるんですよ。

迷惑メールフィルタの設定が複雑になり、どのフィルタが影響しているかわからない!一時的にオフにすることもできなかったり、なかなかの本末転倒ぶり。今度は必要なメールまで迷惑メールとして処理してしまい、重要な情報を見逃すことになってしまいます。

なぜわざわざサードパーティーの迷惑メールフィルタを使うのか?

そもそも、連絡なら別にメールじゃなくてもいいのに!

現代のビジネスシーンでは、SlackやMicrosoft Teams、Asana、Backlogなど、ビジネス用のチャットやメッセンジャー、プロジェクト管理サービスが併用されています。別に、レガシーなコミュニケーション手段であるメールを今さら使わなくてもよさそうですが、チームや組織外とのやり取りや、各種のログは、今でもメールが基本です。

日本ビジネスメール協会の「ビジネスメール実態調査2021」によれば、「仕事で使っている主なコミュニケーション手段の第1位:メール」で、実に98.9%!ダメだこりゃ :'( つまり、迷惑メールの排除は今も、仕事上で重要な環境作りの一つなんですね。

メールアプリケーションも、プロバイダーもイマイチだが

macOSのメール.appにも「迷惑メール」と、振り分けの「ルール」はあります。しかし、機能的に今ひとつです。設定はiCloud経由で、複数のデバイスで同期されるとはいえ、あまり有効に働いてはくれません。

SpamSieveを使う場合は、メールアプリケーションの迷惑メールフィルタはオフにする必要があります。オフにしないと、後者の処理が優先されてしまい、SpamSieveのフィルタが機能しません。

macOSのメール.appのフィルタリング機能は限定的
macOSのメール.appのフィルタリング機能は限定的

また、プロバイダーが提供する迷惑メールフィルタも、一般的にあまり使い勝手がよくない印象です。実際、今、私が使っているメールサーバーも、海外からのメールやHTMLメールを厳し目にチェックするようなことはできても、ドメインで絞り込んだり、ヘッダの中にあるキーワードを参照したりが効率的にできません。正規表現で指定したり、学習機能がないので、大量の設定を繰り返さなければならないのが、本当に面倒。

いつの間にか2,000個以上の設定をしていますが、あまり効果が感じられないのが正直なところ。メンテナンスも非効率ですし、フィルタの設定がドメインごとで区切られていると、複数のドメインを横断的に処理できません。何より、プロバイダーを乗り替えると、また最初から設定しなければならない悪夢が…。

SpamSieveを使う場合は、プロバイダーの迷惑メールフィルタもオフにします(はっきりいって、これはとても勇気が試されます!)。

spam除去は、精度99.9%!

SpamSieveは3週間使ってみましたが、チキンな私は最初の10日ほどでコーパスを地味に鍛えるトレーニングをした後に、恐る恐るプロバイダーの迷惑メールフィルタをオフにしました。

結果はというと、SpamSieveで選別された迷惑メールは全メールの4%、コーパスで分析した迷惑メールは60%でした。設定変更とトレーニングを繰り返している途中で誤検出として扱われてしまったり、別のMacで先に受信して見逃したメールが数通ありますが、それでも精度99.9%

これほどの精度が実現できるとは思わなかったので、期待以上です。精度をさらに高めるには、迷惑メールのしきい値を上げたり、エンコードされたメールを迷惑メールとして処理することも考えられますし、統計は解析日時を設定できるので、今からの計測にリセットすればほぼ100%に近くなるはずです。

ふと思ったんですが、SpamSieveがコーパスを持っているということは、AIに連動してさらに精度やスピードが上がる将来にもちょっと期待したり。もちろん、それはもはや現状のSpamSieveの仕様とは大きく変わりますし、最新技術や話題に敏感な迷惑メール業者側もさらに手法を先鋭化させるでしょう。しばらくは、ブロックリストも適度にチューニングしながら、このSpamSieveを試してみます。