前置き

最近のWindows環境では、フリーで、慣れ親しんだ従来型のインターフェースを持ち、現在(2017年)でもメンテが続いてるメーラーが減ってきたよう。
自分自身は、これまでずっとThunderbirdを使って来たが、ちょっとした事情で人のためにSylpheedの環境を用意する必要が出てきた。

ただ、Sylpheedには一つ問題があった。相手方が「開封の確認」を求めてきた場合、これに応ずる機能がないことだ。
正直、メールという通信手段を取りながら、こういうものを要求するのはマナー違反だし、時代遅れだと思う。
が、そういうものを送ってよこす人がいるのでしかたない。得てして、こういう相手は、説教をたれるわけにもいかないような人であるのが常だ。

ということで、Sylpheedで「開封確認」を検出して、返信を送れるような方法を考えてみた。

試す場合はもちろん自己責任で
期待したものでなかった場合は、何か別のいい方法を考えて公開してね。

概要

  • 「開封確認要求」への対応は、Sylpheedの「振り分けの設定」で行う
  • 「振り分けの設定」では、未読・該当ヘッダの存在を条件に、(外部)コマンドを実行するという方法を取る
  • 実行する外部コマンドは自作のVBScript。(さらに、このスクリプトからwin32で動くnkfも利用する)
  • 返信に応じる際は、(一発自動返信ではなく)返信メール作成画面での確認を経る
 (セキュリティと誤返信の防止のため)
  • 上記で実現する開封確認の応否は、メール受信時の "一度だけ"のものとなる
 (Thunderbirdであれば、応否を保留出来る)
  • また、開封確認はメールの「受信中」に行われるので、内容を確認せずに開封確認の応否を(一旦)決めることになる。(→仮に[はい」を選んでも、開封確認メールの作成ウィンドウが出るだけなので、そこから確認メールを送ることを止めることもできる)


手順

VBScript
 振り分け時にに実行するVBScript → 開封確認v4.vbs
VBScriptの配置
 VBScriptの配置場所はどこでもいいが、Program Files(x86)内では、権限の問題が面倒になるので、ユーザーのホームフォルダ以下などに、適当に配置すればよい。
Nkf.exeの入手と配置
 「nkf.exe nkf32.dll Windows用」に同梱されている、nkf32.exeを、上記同様のフォルダに置く。
 ※win32用のnkfは、複数存在しており、必ずしも上で挙げたものでなくても、動作するものがあるはず。
VBScriptの編集
 ファイルを開き、変数NkfExe、SylExeの値を、環境に合わせて変更する。
振り分けの設定
[設定] > [振り分けの設定] > [追加]
[次の条件がすべて該当する場合]
 [未読]
 [ヘッダを編集]→[ヘッダ欄] Disposition-Notification-To→追加
  →(条件欄にDisposition-Notification-Tが出現)
  →Disposition-Notification-Tを選択→[が次の正規表現にマッチ]→.*
[次のアクションを実行]→[コマンドを実行]
  → wscript "D:\Apps\Scripts\開封確認.vbs" (環境に合わせて指定)
動作確認
開封確認要求して自分のアカウントにメールを送ってみて、正しく動作するか確認。
この時、送受信が同じアカウントの場合、確認要求のヘッダがどこかで除去される場合があるので注意。




最終更新:2018年02月28日 03:50