スクリプトのお勉強 技術

SPAMチェック for OCN の開発

投稿日:2021年3月7日 更新日:

前回、Thunderbirdプラグインの概要を書いたので、今回は開発したプラグインについて書きます。

SPAMチェック for OCNとは

以下の機能を持ったThunderbirdのアドオン(プラグイン)を開発しました。

  • メールのヘッダを見て、「迷惑メール」マークを付与するプラグインです。
    • メールのヘッダ(X-CON-SPAM-CHECK)に100%となっている場合だけ「迷惑メール」マークがつきます。
    • よってメールプロバイダが、OCN以外は意味がありません。
    • ただし、Authentication-Results: spf=passとdkim=passになっていたら、「迷惑メール」マークを設定しません。
    • 送信ドメイン認証(SPF)で成功しているということは偽装していないからです。
  • メールを選択したらヘッダチェックを行い、上記条件に合致すれば「迷惑メール」マークを自動的に付与します。
  • オプションで以下の機能があります。
    • 新規「受信」したメールのチェックを行います。(デフォルトOFF)
    • フォルダ選択時に、フォルダ全体にメールチェックを行う(デフォルトOFF)

OCN専用ではありますが、私は、OCNとは何の関係もありません。OCNに尋ねても回答は返ってきませんのでそのつもりで。

ソース

ソースは

に置いてあります。

Thunderbird アドオンの詳細ページ

Thunderbird アドオンの詳細ページは以下です。

https://addons.thunderbird.net/ja/thunderbird/addon/spam-check-for-ocn/

苦労した点

苦労したのはWebExtensions版を開発する最初です。概念がよく分かってませんでした。でもやろうとして1日程度で把握できたので、比較的簡単だと思います。

後はAPIとかが使い方が分からないので、console.logを大量に挟んで、
どうなってるか確認しながら実装してます。いわゆるprintfデバッグというやつです。。

それ以外は、意外とスムーズに開発できました。

終わりに

とりあえず公開まで(強引に)たどり着きました。
単なる趣味で、頭を使わないプログラミングの方が進むのはなんだかな。。

-スクリプトのお勉強, 技術

執筆者:

関連記事

小ネタ: Python のdataclass でNone or “”を使わないJSONデータを定義する

PythonをREST APIのクライアントとして作成する際、dataclassesを使用しようと思いました。型が見た瞬間分かるし、しっかりしているからです。 でも、そのREST API は&#822 …

PythonでAESを使用して暗号/復号する

1.つづき Pythonで、PKCS#12の公開鍵で暗号、秘密鍵で復号するプログラムの続きです。 今回はAESで暗号化/復号を行い、通信しながらRSA暗号/復号,AES暗号/復号を組み合わせたいと思い …

Vue.jsをbetter jQueryとして使う!FastAPI+Vue.jsと生成AIで作る住所録アプリ

昔あるところに。。 昔、jquery全盛で、Vue.jsが出てきたすぐに「これはjqueryを駆逐できるかも」と思ってjqueryの実装をVue.jsに変えようとしたことがあります。 結局全部を変えた …

Python3/ある日付から日付までの月/日/時間ごとの時刻を算出する

小ネタです。 要するに、時刻A と 時刻B を指定したときの、各時間間隔での時刻取得したかったです。 当初はdateutilを使う方法でなく、自前で実装しようと思ったのですが、面倒なことに気づきました …

悪いほうが良い? でも限度があるよね。。

自分のその時の状態によって結論が変わる https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00620/040900010/を見て書こうと思いました。 今やっ …

    google オプトアウト Click here to opt-out.