
迷惑メールの最近の傾向は、ウクライナのチャリティーやNFT、AI関連でしょうか。マッチングサービスやポルノ、仕事の紹介、健康食品、サプリメント、医療サービス、不動産購入、高額商品、保険、旅行など相変わらずバラエティー豊富です。何より、最新のトレンドを捉えるのが素早いのは相変わらず!
ネットワークやデバイスだけでなく、私たちのメンタルにも地味に嫌な感じを与えるのが、この迷惑メール=spam(ちなみに表記は「スパム」じゃないよ!カタカナは商標だから注意ね!)!私たちが毎日やり取りしているメールの、実に約85%がゴミなんです!!
私はここ数年、以前にも増して迷惑メールに悩まされていますが、今回紹介するSpamSieveで少しは解消されたかもしれません。20年も実績がある優れたユーティリティーなのに、全然知らなかった…iPhone/iPadユーザーにもメリットがあるので、お勧めします。
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を使っています。
- メールをメインで受信する(SpamSieveをインストールする)Macは「ドローン」と呼ばれる。まず、ドローンのMacにSpamSieveをトレーニングするスクリプトをダウンロードし、スクリプトエディタで開く。
- スクリプト中の以下の部分に、SpamSieveを認識させたい自分のメールアカウントを登録する。複数のアカウントも設定可能。
on accountNamesForDrone()
return {“メールアカウント1”, “メールアカウント2”}
end accountNamesForDrone
- スクリプトを実行してテストし、問題がなければ保存する。以下の場所にコピー(または移動)する。
~/Library/Application Scripts/com.apple.mail
- SpamSieveをダウンロードし、インストールする。メール.appが起動中の場合、一旦終了。SpamSieveを起動し、「Mail プラグインをインストール…」する。
- SpamSieveの「環境設定」は、特に変更する必要なし。私は「通知」-「サウンドを再生する」で、メール.appと違う通知音にしただけ。
- 「システム環境設定」-「セキュリティとプライバシー」でSpamSieveに「フルディスクアクセス」と「オートメーション」を許可する。
- メール.appを起動する。SpamSieveプラグインがアクティブなことを確認する。
- 「メールボックス」-「新規メールボックス」で、「このMac内」に「Spam」というメールボックスを新しく作る。このメールボックスは、メールサーバーやメール.appが処理して「迷惑メール」フォルダに分類してしまうのではなく、SpamSieveが処理した迷惑メールを移すためのフォルダとして機能する。
「すべての迷惑メール」にあるメールをすべてドラッグ&ドロップで「Spam」メールボックスに移動する。これは、SpamSieveをトレーニングするための貴重な「教材」になる。
- 「メール」-「環境設定」-「ルール」で[ルールを追加]し、「Spam」という新しいルールを作る。「すべてのメッセージ」を「Spam」メールボックスへ移動させる。ルール適用のアラートが表示されたら、[適用しない]ボタンをクリックする。「Spam」ルールを、リストの一番上に移動させ、他のルールよりも先に適用する。
- 「Remote Training」という新しいルールを作る。「すべてのメッセージ」に対して、「AppleScriptを実行」「Apple Mail – Remote Training」に設定する。ルール適用のアラートが表示されたら、[適用しない]ボタンをクリックする。「Remote Training」ルールを、リストの一番上に移動させる。
- メール.appがSpamSieveを制御するセキュリティーアラートが表示されたら、[OK]ボタンをクリックする。
- 「メール」-「環境設定」-「迷惑メールの動作」で、「迷惑メールフィルタを有効にする」をオフにして、SpamSieveを優先させる。設定済みだったSpamSieve以外のルールもあれば、これもオフにする。
- メールを受信したら、SpamSieveのサウンドが鳴る。
- SpamSieveのトレーニングは、迷惑メールではないメールを複数選び、「メール」-「メッセージ」-「SpamSieve – 正常としてトレーニング」で、問題ないメールとしてSpamSieveに学習させる。同様に、「Spam」フォルダのspamメールを複数選び、「メール」-「メッセージ」-「SpamSieve – スパムとしてトレーニング」で、spamメールとしてSpamSieveに学習させる。
以下のスクリーンショットは、プロバイダーの迷惑メールフィルタを全部オフにはしていない時の状態。SpamSieveが機能する前に、すでに「迷惑メール」フォルダに分類されてしまっている点に注意。
- 間違って、問題ないメールが「すべての迷惑メール」に分類されてしまっていたら、「SpamSieve – 正常としてトレーニング」することで、「全受信」フォルダへ移動される。
- ドローン以外のMacに、iCloud経由でメール.appの設定が同期される。「メール」-「環境設定」-「ルール」で「SpamSieve」と「Remote Training」2つのルールのチェックボックスをオフにする。
- メールサーバー側の迷惑メールフィルタが先に働くと、メール.appでメールを受信する時点ですでに「迷惑メール」フォルダに分類されてしまうため、SpamSieveでは処理されない。SpamSieveにspamメールを認識させるために、メールサーバー側のspamフィルタを(徐々に)解除する。設定変更は慎重に。
- メールを受信するとSpamSieveが作動して、迷惑メールは「Spam」フォルダに格納される(もう「迷惑メール」フォルダには入らない)。
SpamSieveは、迷惑メール度をカラーで示す。高い順に青、グレー、紫、赤、オレンジ、黄色。問題ないメールが間違って迷惑メールになっていないか確認するには、一番軽度の黄色とオレンジのメールをチェックする。 - 学習結果は、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のフィルタが機能しません。
また、プロバイダーが提供する迷惑メールフィルタも、一般的にあまり使い勝手がよくない印象です。実際、今、私が使っているメールサーバーも、海外からのメールやHTMLメールを厳し目にチェックするようなことはできても、ドメインで絞り込んだり、ヘッダの中にあるキーワードを参照したりが効率的にできません。正規表現で指定したり、学習機能がないので、大量の設定を繰り返さなければならないのが、本当に面倒。
いつの間にか2,000個以上の設定をしていますが、あまり効果が感じられないのが正直なところ。メンテナンスも非効率ですし、フィルタの設定がドメインごとで区切られていると、複数のドメインを横断的に処理できません。何より、プロバイダーを乗り替えると、また最初から設定しなければならない悪夢が…。
SpamSieveを使う場合は、プロバイダーの迷惑メールフィルタもオフにします(はっきりいって、これはとても勇気が試されます!)。
spam除去は、精度99.9%!
SpamSieveは3週間使ってみましたが、チキンな私は最初の10日ほどでコーパスを地味に鍛えるトレーニングをした後に、恐る恐るプロバイダーの迷惑メールフィルタをオフにしました。
結果はというと、SpamSieveで選別された迷惑メールは全メールの4%、コーパスで分析した迷惑メールは60%でした。設定変更とトレーニングを繰り返している途中で誤検出として扱われてしまったり、別のMacで先に受信して見逃したメールが数通ありますが、それでも精度99.9%!
これほどの精度が実現できるとは思わなかったので、期待以上です。精度をさらに高めるには、迷惑メールのしきい値を上げたり、エンコードされたメールを迷惑メールとして処理することも考えられますし、統計は解析日時を設定できるので、今からの計測にリセットすればほぼ100%に近くなるはずです。
ふと思ったんですが、SpamSieveがコーパスを持っているということは、AIに連動してさらに精度やスピードが上がる将来にもちょっと期待したり。もちろん、それはもはや現状のSpamSieveの仕様とは大きく変わりますし、最新技術や話題に敏感な迷惑メール業者側もさらに手法を先鋭化させるでしょう。しばらくは、ブロックリストも適度にチューニングしながら、このSpamSieveを試してみます。