(.Net)mailto でccやbccが指定できない
@IT プログラムからブラウザやメーラを起動するには?を読みながら、mailto を使ってアプリケーションからメーラーを立ち上げる部分を作成していました。
この mailto を使って To , Cc , Bcc や本文、件名等を指定できるとあったので、試した見たところ、メーラーが Cc や Bcc を無視してしまいます。
で、調べてみると、どうやら RFC 準拠かつ脆弱性対策のようです。
意図しない送信先に送ってしまうことを防ぐためのようですね。
意図しない宛先にメールを送ってしまう問題に対応したメールソフトが続々公開 で取り上げられてました。
どうやら、JVN がこの問題を脆弱性として取り上げてから各メーラーが続々と修正されたっぽいです。
メールクライアントソフトにおける mailto URL scheme の不適切な解釈で、この問題の情報が公開されてますね。
上記JVNの情報によると、問題となっているCc,Bccは、RFCの
・メールクライアントは、mailto URL scheme の記述をもとに作成したメールの全体をユーザに確認させるべきである
・とくにヘッダについては宛先だけでなく、その他のヘッダについても明示的に表示すべきである
・メール配送に関係するヘッダを mailto URL scheme の記述に基づいて設定することは不適切である
という仕様にも反しているようです。
ただし、MSのOutlook系統はCc,Bccが含まれれば常に表示する仕様で、RFCに準拠してるので、mailto で Cc,Bcc指定できるっぽいです。
この辺はどのメーラーでも統一される仕様にしてほしかったですよね。
さて、Cc,Bcc の送信どうしたものか。。。
(結局、上の指示によりOutlook系のシェアが高いことを理由に mailto を使う方針となりました。Becky!ユーザである自分としては残念な結果でしたが。。)
ちなみに、この問題はこの記事の著者が報告したっぽいです。