各キャリア毎のmailto:〜まとめ
- 携帯から閲覧し、リンク先を開くとメール作成画面を表示
- 本文を予め入力させる
- 本文は日本語、改行有り
以上を問題なく動作させるためのまとめ。
最新機種で確認していないので、あまり参考にしないでください。。。
コード
<?php /* --- メール本文の内容 --- 1行目 2行目 ------------------------ */ $UA = $_SERVER["HTTP_USER_AGENT"]; //DoCoMo は、Shift_JISでURLエンコード if(preg_match("/^DoCoMo\/[12]\.0/i", $UA)) { // echo "i-mode"; echo "<a href=\"mailto:hoge@www.example.com?body=1%8Ds%96%DA%0D%0A2%8Ds%96%DA\" accesskey=\"1\">[メール作成]</a>"; } //J-PHONE Vodafone SoftBank PDCはShift_JISでURLエンコード elseif(preg_match("/J-PHONE\/3.|J-PHONE\/2.|J-PHONE\/4./i", $UA)) { // echo "SoftBank PDC"; echo "<a href=\"mailto:hoge@www.example.com?body=1%8Ds%96%DA%0D%0A2%8Ds%96%DA\" accesskey=\"1\">[メール作成]</a>"; } //Vodafone SoftBank 3G はUTF-8でURLエンコード elseif(preg_match("/^(J\-PHONE|Vodafone|SoftBank|MOT\-[CV])/i", $UA)) { // echo "SoftBank 3G"; echo "<a href=\"mailto:hoge@www.example.com?body=1%E8%A1%8C%E7%9B%AE%0D%0A2%E8%A1%8C%E7%9B%AE\" accesskey=\"1\">[メール作成]</a>"; } //au は、Shift_JISでURLエンコード elseif(preg_match("/^KDDI\-/i", $agent) || preg_match("/UP\.Browser/i", $UA)) { // echo "ezweb"; echo "<a href=\"mailto:hoge@www.example.com?body=1%8Ds%96%DA%0D%0A2%8Ds%96%DA\" accesskey=\"1\">[メール作成]</a>"; } // それ以外はUTF-8でURLエンコード else { // echo "それ以外"; echo "<a href=\"mailto:hoge@www.example.com?body=1%E8%A1%8C%E7%9B%AE%0D%0A2%E8%A1%8C%E7%9B%AE\" accesskey=\"1\">[メール作成]</a>"; } ?>
参考にしたページ
- http://wap2.jp/wap/mailto.html
- http://www.timedesign.jp/itemid-34.html
- 各キャリア毎の分岐のコードはこちらから使わせていただきました。