http://www.hatena.ne.jp/1090900973
さて、htmlで mailto タグを使うときに、
<a href=”mailto:abc@def.gh?subject=test&body=thisistest”> のように書きますが、メールアドレスに ? が含まれると正しく遅れないように思います(試していませんが)。どうやったら、? を含むアドレスに html からメールを送れるでしょうか。あるいは問題なくこのまま遅れるでしょうか。
WEBQOO郵便番号・市外局番検索・住所地名読み仮名案内
URLはダミーです。
「?」を URLエンコードしてみてはどうでしょうか。
<a href=”mailto:abc%3fabc@def.gh?subject=test&body=thisistest”>mailto</a>
特殊文字リファレンス
特殊文字が含まれる場合、特殊な文字に置き換えてやってみてください。
試してみたところうまくいきました。
? → &
a?b@a.com → a&b@a.com
?を含むアドレスの知り合いがいないので試せないのですが、a&b@a.com と書くと a?b@a.com さんに届くのですか?
エンコードして%3Fにすればオッケイです。
<a href=”mailto:a%3Fbc@def.gh?subject=test&body=thisistest”>
残念。機種によってオッケイじゃない場合があるのです。
http://www.cresc.co.jp/tech/java/URLencoding/JavaScript_URLEncod...
JavaScriptにおけるURLエンコードの処理
%3fにエンコードすれば良いのではないでしょうか?
たとえば、<a href=”mailto:aaa%3fbbb@abc.co.jp”>aaa?bbb@abc.co.jp</a>とか・・・
ええ。それで行ってくれれば万々歳なんですけどね。
もしかして ケータイの一部機種では「送れない」が答えだったりして(しゅん)
うちでは
<a href="mailto:?To=abc%3ftest@vodafone.ne.jp&subject=test&body=thisistest">TES</A>
でいけました。
最初にいきなり?を居れてtoで指定してやるわけです
ちなみにこれは「abc?test@vodafone.ne.jp」に送る場合です
mailto:の後に いきなりアドレスを入れると、一部のメーラーではちょん切れてしまいます
なるほど。ちょっといま試せない状況になってしまったのですが、よさそうですね。ありがとうございます。後ほど試してみます!
RFC-822ではメイルアドレスに?を許してますね。
”mailto:abc%3fdef@xyz.jp?subject=test&body=thisistest”
のように?のASCIIコードを16進数で表すと旨く行きました。
「 word *(”.” word) 」ですか。
%3fについては前述の通り、ケータイの機種によってはOKだったりNGだったりするようです
Yahoo! JAPAN
これはただ単にabc@def.ghさんあてのメールにタイトルがtestのメール本文がthisistestになるようにセットされるだけのように思われますが、どうでしょうか。何の問題もないようですが?
はい。abc@def.gh の例は問題のない例です。
「メールアドレスに ? が含まれると正しく遅れない」が問題となっている部分です。
?をurlencodeすると%3Fとなります。
ab?c@def.ghですと、ab%3Fc@def.ghとすればhtmlからメールが送れます。
そうなんですけどね・・・・
%3f を ? と解釈してくれない機種が悪いんですけど、メールが送れるといいなぁと思ったり。。。。
機種によって動作が異なっていて、?になってくれるものと %3f がそのまま表示されてしまうものがありました。。