スクリプトのお勉強 技術

SPAMチェック for OCN の開発

投稿日:

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

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

終わりに

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

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

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

Webフレームワーク「Django 3.2」を使ってみる

LTSリリースなので、現状でアップデートしてないDjangoプロジェクトをDjango 3.2にしていこうかと思いました。例として、自分のDjango 2.0のプロジェクトをDjango 3.2にしま …

コンピュータ系の人のためのCoinhive最高裁の読み方(なぜ無罪だったか)

以下ですべて断定してますが、そもそもからしてすべて想定です。私は法律家ではないので。 前回の記事で、Coinhiveの高裁判決について書きました。 今回は、無罪と決まったCoinhiveの最高裁判決を …

Djangoのurls.pyにはまった。。

けっこうハマった。。 Django 2.2.4の話。以下のエラーを修正するのに、とっても時間がかかった。 django.urls.exceptions.NoReverseMatch: Reverse …

Python3 – django-webtest

忙しいので断片だけ。。 DjangoでWebブラウザからアクセスする感じでテストする、やり方の一つです。以前にやったように、 Seleniumからやってもいいのすが、そこまでじゃない場合の単体テスト方 …

ワンライナーから使いそうなのを抜粋

ワンライナー多すぎ、、 https://linuxcommandlibrary.com/basic/oneliners は膨大なワンライナーがあっていいのですが、多すぎて、何が使えるかぱっと見分かりま …

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