• 締切済み

mailtoで、文字化けを防ぎ、メーラーに内容記述

Formタグ内に記述してもらった項目に対する内容を、文字化けさせずに ユーザーのメーラーを立ち上げ、内容を記述し、 ユーザーにメール内容確認後、設定したアドレスに送信してもらいたいと考えております。 <フォーム内容> <form enctype="text/plain" action="mailto:xxx@xxxx.ne.jp" method="POST" name="form1"> <table> <tr><td>姓名</td> <td><input size="40" name="001_seimei"></td></tr> <tr><td>名前</td> <td><input size="40" name="002_namae"></td></tr> <tr><td>年齢</td> <td><input size="40" name="002_nenrei"></td></tr> <tr><td colspan="2"><input type="submit" name="submit" value="送信"></td></tr> </table> </form> 送信ボタンを押したときに、メーラーが立ち上がりはするのですが 内容が文字化けします。 姓名:てすと1 名前:てすと2 年齢:35 <メーラーに記述されている内容> 001_seimei=???? 002_namae=??? 003_nenrei=??? 一度、 文字化けしないように文字処理して、 メーラーを立ち上げたいと考えているのですが、 phpでどのような処理を記述すれば、いいものなのでしょうか? 想像がつかず困っております…。 今回仕様上、 「入力されたフォーム内容を、ユーザーのメーラーを立ち上げ内容を記述」⇒ 「ユーザーが内容確認後メールを送信」という、流れは変更することができません。 ご教授よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

mailtoを使うならphpは無関係です。 >phpでどのような処理を記述すれば、いいものなのでしょうか? どこにもphpスクリプトが存在しないのに、何をどこに記述するおつもりでしょうか? そもそもmailtoで「メーラが起動する」保証もないです(今現在、私の環境ではメーラは起動しません)。

kureakai
質問者

お礼

ご教授ありがとうございます。 >どこにもphpスクリプトが存在しないのに、何をどこに記述するおつもりでしょうか? すみません。うまく伝わらず申し訳ありません。 また内容を考えてみたいと思います。 >そもそもmailtoで「メーラが起動する」保証もないです(今現在、私の環境ではメーラは起動しません)。 確かに仰られるとおりかもしれません。 ご教授ありがとうございました。

関連するQ&A

  • HPでメーラーを立ち上げずに送信する方法

    HPでメーラーを立ち上げずに送信する方法 HPにメールコンテンツを取り付けたのですが、送信テストをするたびにメーラーが 立ち上がってしまいます。 それも、記入した本文が反映されず、メーラーが表示されるまでに 「アドレスが受信者に公開され、フォームのデータが暗号化されずに送信されます。送信は続行も出来ますが取り消すことも出来ます」というメッセージが表示され、OKをクリックすると 別窓で空白のページが表示され、その上にメーラーを立ち上げるかどうかのメッセージが表示されます。 許可するをクリックすると空白のページだったものがインターネットに接続出来なかったときのページに変わり、その上にメーラーが表示されます。 そのメーラーには私のメールアドレスと、指定したsubjectは反映されていますが やはり本文が反映されていません。 他のサイトでコメントをしたときはメーラーは開かず、そのまますんなりコメント出来たのですが、 どのようにしたらメーラーを開かずに送信出来るようになるのでしょうか? 以下のソースをbodyタグの中に入れています。 <FORM ACTION="mailto:(この部分にアドレスを入れています)?Subject=(subject名)" METHOD="post" ENCTYPE="text/plain"> <div align="center"> <table border="0"><tr> <TD ALIGN="right" WIDTH="223"> <table border="0"> <tr><td>Name</td> <td><input type="text"size="25" name="名前"></td></tr> <tr><td>Mail</td> <td><input type="text"size="25" name="Eメール"></td></tr> <tr><td>HomeURL</td> <td><input type="text"size="25" name="URL"></td></tr> <tr><td>Mssage</td> <td><TEXTAREA NAME="メッセージ" COLS="23" ROWS="5"></TEXTAREA></td></tr></table> <BR> <INPUT TYPE="submit" NAME="submit" VALUE="Go!"> <input type="reset"value="Reset"> </FORM> 何か記載漏れがありましたらお手数ですがご指摘下さい。 どなたかご指南をお願い致します!

  • テキストを表示すると文字化けする

    まず、HTMLから !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>メール送信フォーム</title> </head> <body> <h2>メール送信フォーム</h2> <form action="conf.jsp" method="POST"> <table summary="" border="0"> <tr> <td>お名前</td> <td><input type="text" name="name" size="20"></td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" name="from" size="20"></td> </tr> <tr> <td>メールタイトル</td> <td><input type="text" name="title" size="20"></td> </tr> <tr> <td>メッセージ</td> <td><textarea rows="5" name="message" cols="40"></textarea></td> </tr> <tr> <td colspan="2"><input type="submit" value="内容の確認"></td> </tr> </table> </form> </body> </html> それを受けるconf.jspで文字化けします。 が、1つ文字化けせずに表示する方法があります。 <%@ page language="java" contentType="text/html; charset=Shift_JIS" pageEncoding="Shift_JIS"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>メール送信フォーム</title> </head> <body> <h2>メール送信内容確認画面</h2> <% request.setCharacterEncoding("Shift-JIS"); ↑ここですね↑見にくくてすいません。 ここでShift_JISに変換されてちゃんと表示されます。 でも、これは後から付け加えたものでソースコードには最初ありませんでした。 //フォームの値を取得 String mName = request.getParameter("name"); String mFrom = request.getParameter("from"); String mTitle = request.getParameter("title"); String mNaiyou = request.getParameter("message"); //値をチェック boolean errFlg = false; if (mName.equals(" ")) { out.println("<p>お名前を入力して下さい。"); errFlg = true; } if (mFrom.equals(" ")) { out.println("<p>メールアドレスを入力して下さい。"); errFlg = true; } if (mTitle.equals(" ")) { out.println("<p>タイトルを入力して下さい。"); errFlg = true; } if (mNaiyou.equals(" ")) { out.println("<p>内容を入力して下さい。"); errFlg = true; } if (errFlg == false) { %> <h2>内容を確認して送信ボタンをクリックして下さい</h2> <form action="sendMail.jsp" method="POST"> <table border="0"> <tr> <td width="100">お名前</td> <td width="300"><%= mName %></td> </tr> <tr> <td width="100">メールアドレス</td> <td width="300"><%= mFrom %></td> </tr> <tr> <td width="100">メールタイトル</td> <td width="300"><%= mTitle %></td> </tr> <tr> <td width="100">メッセージ</td> <td width="300"><%= mNaiyou %></td> </tr> <tr> <td colspan="2"><input type="submit" value="送信"></td> </tr> </table> <input type="hidden" name="name" value="<%= mName %>"> <input type="hidden" name="from" value="<%= mFrom %>"> <input type="hidden" name="title" value="<%= mTitle %>"> <input type="hidden" name="message" value="<%= mNaiyou %>"> </form> <% }%> </body> </html> 何故、文字化け状態になるのでしょう。 アドバイス宜しくお願い致します。

  • 文字化けを直すには

    現在、文字列で名前を検索してデータファイルを 開いてその名前のデータを表示するというのを作っているのですが、 名前が文字化けしてしまい困っています。 名前はスカラー変数に入ってて、    print "<tr><td>$name</td></tr>"; こんな感じで表示しているんですけど、 $nameに特定の文字がはいっていると    特性の文字・td></tr> このように文字化けみたいなことがおきてしまいます。 どうすれば回避できるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Perl
  • javascriptの記述方法について

    こんにちわ。 今、以下のような記述で、kei1~kei5までの合計をtotalに出そうと考えましたが、 function allcalc(){}内に書く記述で困っています。 form名を分けているのは、別の関数で各行の小計(kei1~5)を出すために分けてみましたが、あまり意味がなさそうで一つのform名に変更しようかとも思っています。 <HTML> <HEAD> <TITLE>Test</TITLE> <SCRIPT type="text/javascript"> <!-- function allcalc(total){ var al_total = 0; for (i=1; i <= 10; i++){ elementkei="total.form[" + i +"].element[2].value" if(elementkei != "") {al_total += elementkei} } document.form6.total.value = al_total; } //--> </SCRIPT> </HEAD><BODY><TABLE><FORM name="form1"> <TR><TD><INPUT type="text" name="baika1"></TD> <TD><INPUT type="text" name="suryou1"></TD> <TD><INPUT type="text" name="kei1"></TD> </FORM> <FORM name="form2"> <TR><TD><INPUT type="text" name="baika2"></TD> <TD><INPUT type="text" name="suryou2"></TD> <TD><INPUT type="text" name="kei2"></TD> </FORM> ・・・・・・・・・・・・・これが5つあります <FORM name="form6"> <TR><TD>合計</TD> <TD><INPUT type="text" name="total"> <TD><INPUT type="button" name="go" value="合計計算" OnClick="allcalc(document)"></TD> </FORM></TABLE></BODY></HTML> これを動作させてみると、「total.form[がNullかオブジェクトではありません」とエラーが流れます。 恐らく、allcalcの引数とその参照の仕方が悪いと思うのですが、 書き方を変えてみても、同じようなエラーで止まってしまいます。 どなたか方法を教えていただけないでしょうか。

  • メールフォームの内容を送信者にも控えがとれるようにしたい

    下記の件で困っています。 HTMLの中で、メルフォを設けました。 <form method=post action="フォームデコードサービス"> <input type=hidden name="_mailto" value="***@*****.ne.jp"> <input type=hidden name="_subject" value="件名"> <input type=hidden name="_location" value="http://戻りURL.htm"> <table border="0" cellpadding="5" cellspacing="0" width="900"> <tr> <td width="150">氏名</td> <td colspan="2" width="700">     <input type="text" size="30" name="氏名"></td> </tr> ・ ・ ・ <p> <input type="submit" value="submit"> <input type="reset" value="reset"> </p> </form> 最初はデコードサービスを使わなかったのですが、Macから送信されるデータが文字化けする為、使うことにしました。 しかし、そうすると、送信者に送信内容が残らなくなってしまいました。 送信者の手許にもコピーが残るようにしたいので、お知恵を拝借できれば幸いです。 よろしくお願い致します。

  • PHPで問い合わせフォーム 受信すると文字化けする

    フォーム⇒ (1)確認  ⇒ (2)送信 と3つに分けて、phpファイルに書きました。 ためしに、送信してみると、成功はするものの、文字が化けてメールの内容が分かりません。 分からないので教えてください。 フォーム ↓ <form method="POST" action="kakunin.php"> <table border="0"> <tr> <td >お名前</td> <td><input type="text" name="name" size="20"></td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" name="from" size="20"></td> </tr> <tr> <td>メールタイトル</td> <td><input type="text" name="title" size="20"></td> </tr> <tr> <td>メッセージ</td> <td><textarea rows="5" name="naiyou" cols="40"></textarea></td> </tr> <tr> <td colspan="2"><input type="submit" value=" お問い合わせ内容を確認 "></td> </tr> </table> </form> (1) kakunin.php ↓ 入力フォームから情報を受け取り確認 <?php // フォームの値を取得します。 if ($_SERVER["REQUEST_METHOD"] == "POST") { foreach($_POST as $k => $v){ // 「magic_quotes_gpc = On」のときはエスケープ解除 if (get_magic_quotes_gpc()) { $v = stripslashes($v); } $v = htmlspecialchars($v); $$k = $v; } } else { exit(); } // 値をチェックします。 $ErrFlg = 0; if ($name == "") { echo "<p>お名前を入力してください。"; $ErrFlg = 1; } if ($from == "") { echo "<p>メールアドレスを入力してください。"; $ErrFlg = 1; } if ($title == "") { echo "<p>メールタイトルを入力してください。"; $ErrFlg = 1; } if ($naiyou == "" ) { echo "<p>メッセージを入力してください。"; $ErrFlg = 1; } if ($ErrFlg) { exit(); } ?> 内容を確認して送信ボタンをクリックしてください <form method="POST" action="mail.php"> <table border="0"> <tr> <td width="100">お名前</td> <td width="300"><?php echo $name?></td> </tr> <tr> <td width="100">メールアドレス</td> <td width="300"><?php echo $from?></td> </tr> <tr> <td width="100">メールタイトル</td> <td width="300"><?php echo $title?></td> </tr> <tr> <td width="100">メッセージ</td> <td width="300"><?php echo nl2br($naiyou) ?></td> </tr> <tr> <td colspan="2"><input type="submit" value="送信"></td> </tr> </table> <input type="hidden" name="name" value="<?php echo $name ?>"> <input type="hidden" name="from" value="<?php echo $from ?>"> <input type="hidden" name="title" value="<?php echo $title ?>"> <input type="hidden" name="naiyou" value="<?php echo $naiyou ?>"> </form> (2) mail.php ↓のコード 送信 <?php // メール送信先を指定します。 $to = "xxxxxxxxxx■ gmail.com"; // フォームの値を取得します。 if ($_SERVER["REQUEST_METHOD"] == "POST") { foreach($_POST as $k => $v){ // 「magic_quotes_gpc = On」のときはエスケープ解除 if (get_magic_quotes_gpc()) { $v = stripslashes($v); } $v = htmlspecialchars($v); $$k = $v; } } else { exit(); } // メール本文を組み立てます。 $naiyou = "お名前:$name\n メールアドレス:$from\n タイトル:$title\n 内容:$naiyou\n"; if ($name != "" and $from != "" and $title != "" and $naiyou != "" ) { if (mb_send_mail($to, $title, $naiyou, "From:$from")) { echo "メールを送信しました"; } else { echo "メール送信失敗です"; } } ?>

    • ベストアンサー
    • PHP
  • テキストエリア送信の際の文字化けについて

    以下のように設定しました。英語の場合は良いのですが、日本語や中国語の文章を送信すると、着信文が文字化けします。文字化けを防ぐにはどうしたらよいでしょうか。 <FORM action="mailto:XXX@****" method="post" enctype="text/plain" name="Form"><TABLE bgcolor="pink" cellspacing="1" cellpadding="0"> <TR><TD bgcolor="#ffffff" width="151"><TEXTAREA rows="400" cols="50" name="coment" style=" width:200px;height:180px;background-image:url(TX_11_11.JPG);"></TEXTAREA></TD> </TR><TR><TD colspan="2" bgcolor="#ffffff"><INPUT type="submit" value="送信" style="color : black;background-color : #ff00ff;border-with:pink;border-style : solid ;border-color :pink ;border-width : 1px ;"><INPUT type="reset" name="取消" value="取消" style="color : black;background-color : #00ffff;border-with:pink;border-style : solid ;border-color : pink;border-width : 1px;"></TD> </TR></TABLE></form>

  • ボタンクリックでフォーカス移動

    JavaScript超ビギナーなので方法がよくわかりません。 フォームにテキストボックス(配列)4個あり ボタンを押すたびに未記入のテキストボックスにカーソルを移動したいのですが。どのようにしたらいいでしょうか。 <form name="form1" method="post"> <table width="200" border="1"> <tr><td ><input type="submit" name="Submit" value="送信"></td></tr> <tr><td ><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> <tr><td><input type="text" name="name1"></td></tr> </table> </form>

  • Servletへフォームから配列を送信できますか?

    PHPでは、下記のようにHTMLを記述することで、 フォーム内容を配列で送信及び取得できるのですが、 Servletで同じ事をするにはどうすれば良いでしょうか? <HTML><title>一括更新</title><BODY> <form action=./test.php method=post> <table> <tr><td> <input type=input name=a[0] value="1"> <input type=input name=b[0] value="2"> </td></tr> <tr><td> <input type=input name=a[1] value="1"> <input type=input name=b[1] value="2"> </td></tr> </table> <input type="submit" value="更新"> </form></BODY></HTML>

  • 文字化け

    PHPでHTMLからメールを送信するプログラムを書いたのですが,WindowsLiveでみるだと大丈夫なのですが,アイフォンでみると文字化けしてしまいます. サイトを参考に mb_language('Japanese'); mb_internal_encoding("UTF-8"); でエンコーディングしてみたのですが,いまいち動かないのですがどうしてでしょうか? //ソース================================= <br><自由記述欄> <br><textarea name="freeans" rows="4" cols="40">よろしくお願いします。</textarea> <br><input type="submit" value="送信" /><input type="reset" value="取り消し" /> <input type="hidden" name="mailflag" value="true" /> </p> </form> END; mb_language('Japanese'); mb_internal_encoding("UTF-8"); if($_POST["mailflag"]=="true"){ if (mail("****@****","不在連絡", "【不在連絡】\n\n" . $_POST["name"] . "\n用件 : " . $_POST["reason"] . "\n期間 : " . $_POST["tuki"] . "月" . $_POST["niti"] . "日 ~ " . $_POST["tuki2"] . "月" . $_POST["niti2"] . "日" . "\n\n" . $_POST["freeans"], "From: *****@*****")) { echo "メールが送信されました。"; } else { echo "メールの送信に失敗しました。"; } } echo "</td></tr></table>"; ?>

    • ベストアンサー
    • PHP