スクリプトのお勉強 技術

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デバッグというやつです。。

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

終わりに

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

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

執筆者:

関連記事

CentOS7 + Django2.2 + uwsgi + nginx 連携方法

Djangoとnginx連携方法 以前はApache経由で連携しましたが、今回はnginxと連携する方法を記述します。 環境 設定した環境は以下です。 OS: CentOS7Python3.6.8 ( …

Thunderbird プラグインの開発(プラグインでの実現方法)

前回 Thunderbird プラグインの WebExtension版開発方法を調べたので、開発したいプラグインと、WebExtension版プラグインでの実現方法について書いていきます。 開発するプ …

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

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

Python3でMongoDBを使ってみる(MongoEngine)

仕事している過程で、ふと疑問に思うことがありました。非同期についてです。 非同期問題を解決する方法はたくさんあると思いますが、MongoDBで解決できるのかが気になったので試してみました。 非同期問題 …

pysnmp v6 から v7 への移行

はじめに 前回の記事でPythonによるSNMPTrapの送信について記事を書きました。 その後、PythonからのSNMPTrap送信する方法を調査したら、方法が変わっていることに気づきしました。 …

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