2020年5月30日土曜日

メールの曜日/日付チェック (Check and Send 2.0.5)

Check and Send 2.0.5 をリリースしました。

ダウンロード:

※Mail Extensions版のため、Thunderbird 76 Beta1以降での動作になります。
 Thunderbird 68.xに無理やりインストールしても、一部機能が動きません。

新規に、曜日/日付のチェックを追加していて、
  • 曜日のチェック: 6/6 (金)と書いたが、その日は土曜日 
  • 指定した曜日のチェック: 6/7に打ち合わせと書いたが、その日は日曜日
  • 不正な日付のチェック: 2/29と書いたが、この年はうるう年ではない
のような、チェックができるようになります。

なお、このチェックは、年はみておらず、今日より後の日付は今年、
前の日付は来年として扱います。

この機能は、ほんとに多くの方から要望をもらっていたのですが、
全部、日本のユーザでした。
こんなの気にするのは、日本人だけなんですかね?




この機能を使う前に、設定が必要です。
設定には正規表現を使うため、プログラミングに親しみのない方には
ちょっと難しいかもしれませんが、チャレンジしてみてください。

以下、設定を説明します。
Check and Sendのオプションを下にスクロールすると、
「曜日/日付」というのが出てくるので、ここで設定します。


機能の選択


有効にする機能を選択してください。
  • 曜日と日付の整合を確認する
    日付と曜日があっていないとポップアップを出します
  • メッセージに以下の曜日が含まれていたら確認する
    チェックした曜日があるとポップアップを出します。
    曜日が間違っている場合は、正しい曜日のほうで判断します。
  • 不正な日時をチェックする
    4/31など存在しない日付があるとポップアップを出します。
ここまでは、簡単だと思いますが、以下からがちょっとめんどくさいです。

正規表現の設定
まず、メールの中から日付を検索する条件を設定します。
検索対象は件名とメール本文で、引用部と署名は除外されます。
また、大文字・小文字は区別しません。

検索するパターンを正規表現で設定します。
テキストフィールドに正規表現を書いてください。
このとき、月、日、曜日を後方参照で抽出できるようにしてください。
※(month=$1 ...)の部分は勝手につけられるので、気にしないでください。

抽出したものが、月、日、曜日のどれに該当するのかは、
テキストフィールドの横のリストで設定してください。

正規表現と後方参照が設定できたら、「追加」ボタンで追加してください。
更新ボタンで、既存の設定を修正することもできます。

曜日の抽出は、「曜日と日付の整合を確認する」以外は、
なくてもよいです。
このときは、曜日のところを「-」に設定してください。

上の例は、それぞれ、
  • 5/30 (土)
  • 5/30
のような日付にマッチします。

デフォルトで一つ目の設定が入っています。

月、日、曜日の定義
次に、抽出した、月、日、曜日を、どのように解釈するかを設定します。
これは、Javascriptの二次元配列で設定します。
デフォルトで、すでに設定が入っているので、これを変更してください。
配列の構成(カギかっこ)は変えずに、その中身だけを変えてください。


上記は、月の設定です。2行目が1月、3行目が2月…を表しています。
追加する場合は、「,」区切りで、「""」で囲んで入力してください。
例えば、全角や漢数字も解釈できるようにするには、
以下のように変更してください。(赤字が追加箇所)

[
  ["1","01","Jan","1","一"],
  ["2","02","Feb","2","二"],
  ["3","03","Mar","3","三"],
  (以下同様)


日、曜日もデフォルトで設定がされているので、
必要に応じて、同様に変更してください。


設定がおかしい場合には、以下のようにエラーメッセージが表示されて、
変更前の設定に戻ります。


ここまでできれば、設定は終わりです。

ちょっと設定が面倒な機能ですが、よければ使ってみて、感想を聞かせてください。




2020年5月17日日曜日

Mail Extensions版 Check and Send

Mail Extensions版 Check and Send を公開しました。(v2.0.0)
使用しているAPIの都合から、Thunderbird 76以降での対応になります。
Thunderbird 68では動作しないので注意してください。

ダウンロード:

今回、Mail Extensions化にあたり、完全新規で書き直しています。
旧版では、ダイアログボックスでワーニングを出していましたが、
以下のように、ポップアップで表示します。

※必ずツールバーに「チェック」ボタンを配置してください。置かない場合は、メール送信自体できなくなってしまいます。


使い方に関して、少し注意点があります。
以下のように実行してください。
  1. メールを書いて送信ボタンを押す(この時点では、上記の「?」ボタンは無効になっています)
  2. 「?」ボタンが有効になり、ポップアップでワーニングが表示される
  3. 送信する場合は「Send」を、中止する場合は「Cancel」を押す
3.でSend/Cancelを押さすに、ボップアップを閉じてしまった場合は、
編集も送信もできない状態になります。
「?」ボタンを押すと、再度ポップアップが表示されるので、
Send/Cancelを押してください。

Cancelを押した場合、「?」ボタンが有効なままになっています。
「?」ボタンを押すと、再度チェックをかけて、結果をポップアップで表示します。
この場合は、Send/Cancelボタンはありません。
修正の確認に使用してください。
修正後に送信する場合は、送信ボタンを押してください。

オプションは、アドオンマネージャの中にあります。
デフォルトでは、ほとんどのチェックが無効になっているので、
まずは、設定をしてください。





上記、ポップアップ以外に、旧版から以下の変更があります。
  • Newsgroup/Followup-Toのチェックを廃止
  • To/Ccが指定数以上で、Bccがない場合の警告を追加
  • 添付忘れチェックを廃止(Thunderbird本体のチェックと重複のため)
  • 添付ファイルの拡張子チェックは、ホワイトリスト設定もできるように変更
  • 添付ファイルサイズの指定を、KBからMBに変更
  • 単語チェックの found/not found は、個別にリストを設定できるように変更
  • 単語チェックで、マッチした単語のハイライトを廃止
  • アドレスチェックを、アドレス帳とリストでのチェックに変更
  • アドレスチェックで、チェックするFieldを指定する設定を廃止
    代わりに、チェック対象からBCCを除外するオプションを追加
  • 添付チェック、単語チェックエラー時のみ、アドレスチェックをする設定を廃止
  • 名前チェックの実施タイミングを、送信時のみに変更
  • 名前チェックから、Bcc, Newsgroup, Folloup-Toを除外
  • 重複アドレスのチェックを追加

新規書き直しになったため、過去に要望されていた機能も含め、
見直して実装してみました。
不具合等ありましたら、コメントいただけると助かります。

また、Check and Sendは、日本人ユーザが多く、設定も複雑なため、
このあと、多言語化を進めていきます。
v2.0.4以降、日本語版Thunderbirdでは、日本語で表示されるようになっています。

[2020/5/18]
Check and Send 2.0.1を公開しました。
アドレス帳に同じemailアドレスのカードが複数あった場合の、宛名修正のポップアップを修正しました。最初に見つかったものに修正されます。
また、宛名修正をポップアップするかの設定の論理が逆になっていたので修正しました。

[2020/5/19]
Check and Send 2.0.2を公開しました。
宛名チェックで、アドレス帳に見つからなかった場合に、削除するオプションを追加しました。

[2020/5/22]
Check and Send 2.0.3を公開しました。
添付ファイルサイズの指定に不具合があったのを修正しました。

[2020/5/23]
Check and Send 2.0.4を公開しました。
日本語化をしました。
これで予定していたものはすべて実装しました。

[2020/5/30]
Check and Send 2.0.5を公開しました。
新規に、曜日/日付のチェックを実装しています。
詳細は、以下を確認してください。
https://hogi-ja.blogspot.com/2020/05/check-and-send-205.html

[2020/6/13]
v2.0.6を公開しました。
アドレスチェックや、宛名チェックに使用するアドレス帳を、複数指定できるようにしました。
また、このバージョンから、WebExtensionExperiments なしで実装しています。
チェック時間が少し改善されるかもしれません。

[2020/6/20]
v2.0.7を公開しました。
曜日チェックが無効な場合でも、メッセージ本文を読み込んでいたのを修正しました。
また、単語チェックで、設定にかかわらず引用部を無視していたのを修正しました。





2020年5月1日金曜日

MailExtensions版 Tag Toolbar (Tag Popup)

Tag ToolbarのMailExtenions化を検討していたのですが、やはり大きくUIをいじってしまうアドオンはなかなか厳しいです。

Firefoxと異なり、Thunderbirdは、WebExtensionExperimentsという裏口を開けてくれています。これを使えば、Thunderbirdの内部に手を付けられるので、従来に近いことができます。

実際、WebExtensionExperimentsで、ツールバーとボタンの追加ができるとこまでは確認できました。

しかし、ここからさらに多くの作業が必要なことと、今後のメンテを考えると、いばらの道しか待っておらず、二の足を踏んでいます。

そこで、MailExtensionsのお作法に従って、似たことができないか試してみました。
ツールバーを追加するのではなく、ツールバーボタンを押すとポップアップが表示され、そこからタグ付けをします。チェックボックスにチェックを入れると、即座にタグ付けがされます。

■ダウンロード
v2.0.0以降をダウンロードしてください。
IDを別にしているので、v68系ではTag Toolbarと共存もできます。アドオン名は「Tag Popup」と表示されます。
v2.0.2から、Tag Toolbarと同じIDになっています。
また、Thunderbird 77.0b3以降の対応になります。



Thunderbirdに元からあるタグボタンと似ていますが、複数選べる点が異なります。
タグボタンをおして、一つ選んで、またボタンを押して選んで…という繰り返しが不要になります。
あと、タグが多い人向けに検索で表示を絞ることもできます。

Tag Toolbarとは、似ても似つかないものになってしまいましたが、しばらく使ってみると、まぁこれでもいいかなぁという気にもなってきました。

[2020/6/7]
Tag Popup 2.0.2から、だいぶTag Toolbarに近いことができるようになっています。
詳細は、このページの下のほうの履歴を確認してください。

よかったら、感想をお聞かせください。

注意事項
ThunderbirdのAPIの問題だと思うのですが、操作してから実際に反映されるまでに、かなりのタイムラグがあります。IMAPだと顕著で、とくに多数のタグを一気に外した時がひどいですが、気にせず放置しておけば、きちんと反映されます。

また、メッセージヘッダのタグ表示などは、いったん別のメッセージを選択するなどして再描画させないと反映されません。
ご注意ください。

全体的に、タグ周りのAPIの出来が、まだよくないような感じがします。今後の改善に期待です。

[2020/5/31]
Tag Popup 2.0.0をリリースしました。
実験用に入れていたオプション設定を削除しています。
あとは、とくに変更なしです。

[2020/5/31]
Tag Popup 2.0.1をリリースしました。
メッセージヘッダのタグをクリックすると、タグを外せるようにしました。
(下の絵の赤枠部分)

また、タグ変更したときに、表示が更新されないのを改善しました。

[2020/6/7]
Tag Popup 2.0.2を公開しました。
スレッドペインの色付け (Tag Toolbarと同じもの)と、メッセージヘッダでのタグ付け機能を実装しました。
詳細は、以下を参照してください。
https://hogi-ja.blogspot.com/2020/06/tag-popup-202.html

[2020/6/13]
v2.0.3を公開しました。
ヘッダビューでタグ付けする場合に、右クリック等にも反応していたので、左クリック時のみに修正しました。





Thunderbirdのエラーコンソールにログがでない!

タイトルの通りですが、Thunderbird 76b3 のエラーコンソールに、console.log()で出力したログが表示されずはまっていました。
なんのことはなく、エラーコンソールの設定(歯車ボタン)に、「コンテンツメッセージを表示」というのがあり、これをチェックしたら出力されました。

ずいぶんと無駄な時間を過ごしてしまいました…
同じように困っている方がいらっしゃいましたら、ご参考までに。

こんなの今までなかったような…


[2020/8/7]
Thunderbird 78.1.1 から、デフォルトでチェックが入るようになったようです。アドオンのログが必要な人は限られるでしょうし、別に前のままでもよかったような。どっちが正解なんでしょうね。

人気の投稿(過去7日間)