dポイントプレゼントキャンペーン実施中!

携帯電話やパソコンでは以下のように書いたmailtoが起動してくれるのですが
Androidのスマートフォンで起動してもメールアドレスが記入されていない状態になってしまいます。
なにが原因なのでしょうか?

<a href="mailto:info@〇〇〇.jp?subject=通知&body=連絡事項:%0D%0A%0D%0Aホームページにより連絡送信。%0D%0A%0D%0A">連絡</a>

A 回答 (2件)

#1 の方も仰る通り、mailto: は環境依存性の高いスキームなのでその解決法としてメールフォームがよく利用されています。


mailto を使用するとスパムの標的になりやすいという理由からメールアドレスを画像化するサイトも多いですが、スマートフォンやタブレットなどの入力が制限されるAndroid端末で画像化を採用するメリットは少ないでしょうね。
メールアドレスのHTMLエンティティ化で目くらましにはなりますが、原理的には機械的にデコード可能なので特定されるのは時間の問題だと思います。

To: #1 ORUKA1951 さん
mailto: は URL です。誤りではありません。
http://www.ietf.org/rfc/rfc2368.txt

Android OS 上で動作しないのならそれはブラウザ又はメーラーが対応していないからです。
環境が整っていないので使うべきではないという意味では同意しますが、mailto 自体が誤りなのではありません。

また、仕様を出すなら HTML5 がより詳しいでしょう。最終的には RFC3986 が参照されています。
http://www.whatwg.org/specs/web-apps/current-wor …
HTML 4.01 では RFC1808 への参照に繋がり、mailto にも触れられています。
http://www.ietf.org/rfc/rfc1808.txt

細かいことをいえば HTML 4.01 では「URL」ではなく「URI」という表記になっているはずです。
HTML5 では「URL」の用語定義が見直されているのでややこしいですが…。
http://detail.chiebukuro.yahoo.co.jp/qa/question …
    • good
    • 1

 いえ、本来は「a href="mailto:」自体が誤りです。

hrefにはURLしか記述できません。たまたま、ご利用のブラウザがそのパソコンで指定してあるメールクライアントを起動するだけで、あくまでおまけ機能です。そのため、受信されるメールは文字化けしたり・・
★href = uri [CT] ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )

 本来は、メール送信用プログラム(CGI)へのリンクを記述して、そこで処理すべきです。そうすると、メールクライアントを指定していないブラウザ、使えないブラウザすべてに対して、有効です。

 あくまで簡易的な方法としてhrefをしようするなら、色々試した方がいらっしゃいます。

暇なメモ帳: Androidでメールを送信する方法 ( http://tomokey.blogspot.jp/2011/03/android.html )
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!