初めに最近のメールは、中身だけ見てもスパムかどうかわからないぐらい、精巧にできてます。各プロバイダでは対応ができていることも多いです。私はメールはOCNなのですが、OCNは”X-OCN-SPAM-CHECK”ヘッダにスパムメールであれば100.00%と付与してきます。メールクライアントは、Thunderbirdを使っているので、”X-OCN-SPAM-CHECK”ヘッダをみて、スパムメールであれば、迷惑メールマークを自動で付与するプラグインを作って見ようと思いました。作るんだっけ?そして作ろうと思っては見たもの、よく分かってませんでした。プラグインの作り方をまとめておこうと思います。APIを使用したプラグインに変っているようです。昔そうだったんだなぁ、、という程度にした方がいいと思います。Thunderbirdのプラグインの作り方では、実際にプラグインを開発する手前までの環境を作ってみようと思います。ツールインストール以下をインストールします。Thunderbirdは既に入ってるかもしれませんが、バージョンを78以降にした方がいいと思います。v7https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/what-s-new-in-powershell-70?view=powershell-7.1nodejsは直接的には使いませんが、ビルド(zipにまとめるだけ)に使えます。以下でビルド用ツールをインストールしておきます。Shellに入れ替えます。VSCodeはJavaScriptのコードを書くのに使用します。補完が嘘(WebExtensionsの仕様に沿ってない)のであまり意味はないかもしれません。ツールはこれだけで問題ありません。コンパイラとかも不要です。開発環境構築ここのように別プロファイルを生成します。自分の環境に影響がないようにするためです。一応しておいた方がいいかと思います。以下でThunderbirdを起動ます。-ProfileManager以下のように開発プロファイル(PluginTest)を作成しておきます。開発プロファイル名は何でも構いません。開発用」として作っておくと便利です。プラグイン構成の構築ここから実際のプラグインを開発していきます。プラグインの中心はmanifest.jsonです。逆に言うとこれだけで、後はJavaScriptを追加していけば作れます。APIの場合は不要です。それらはすべてmanifest.jsonに記述します。以下が開発時のディレクトリ構成です。spamcheckerディレクトリの中に、プラグインを追加していきます。Thunderbirdでサポートする最低バージョンを記述します。//プラグインの名前と説明です。ここに記述したファイル名のJavaScriptを起動します。//プラグインで使用する権限を記述する。選択したメールだけチェックする実装だけ行いました。動作確認用にログを出しています。//メールが選択された時。}});ビルド上記のプラグインをビルドします。ツール->「開発ツール」->「アドオンをデバッグ」でロードする。以下の画面から上記のspam_check_for_ocn-0.0.4.zipをロードします。エラーコンソールで内容を確認では実際にメールを見てみます。普通のメールを見た場合の、エラーコンソール(「ツール」->「開発ツール」->「エラーコンソール」)は以下になります。スパムメールをメール表示した場合は以下の通りです。この時にはメールに「迷惑メール」がマークされています。終わりにまずは、Thunderbirdのプラグインの作り方を書いてみました。昔やろうとしたのよりかなり簡単です。今は、昔のXULによる開発とごっちゃになっていてわかりにくいですが、WebExtensions版は、整理されています。次回は、ちゃんとしたThunderbirdプラグインの開発について記述しようと思います。permissionsとか、message_display_actionについては次回、説明します。今回のだけで、用が足りてしまった気もする。perlライブラリちょっとだけperlの機能修正をしたので、そのときに使用したライブラリについて書こうと思います。普段使うコードとか、よく忘れやすい、コピペするコードを集めた情報です。自分が使う言語のチートシートを書いておきます。Pluginの開発」のその2です。JavaScriptにてBase64エンコード/デコードをしようとして、意外と詰まったので、メモ的に方法を書いておきます。勉強用に、PythonでPostgresqlを制御しようと思います。前回でPostgreSQLと、データベース/テーブルまでは用意したので、今回はAPIを作成しようと思います。