perl で書かれた CGI のソースに、$vout 変数内に a タグで mailto: のリンクが書いてあり、クライアントが
リンクを踏むと、メーラーが立ち上がるようになっています。
が、mailto: に subject と body を含めて、かつ body には改行を含めたいのですが、どうしてもエラーになってしまいます。
以下を含める場合、どのように書けばよいのでしょうか ?
<持込に関して> ← subject
↓本文
@お名前[改行]
@ご住所[改行]
@お電話番号[改行]
<問い合わせ内容詳細>
ちなみに URLエンコードで
<a href="mailto:yourname@yourhost.yourdomain?subject=%8E%9D%8D%9E%82%C9%8A%D6%82%B5%82%C4&body=%40%82%A8%96%BC%91O%5B%89%FC%8Ds%5D%0D%0A%40%82%B2%8FZ%8F%8A%5B%89%FC%8Ds%5D%0D%0A%40%82%A8%93d%98b%94%D4%8D%86%5B%89%FC%8Ds%5D%0D%0A%3C%96%E2%82%A2%8D%87%82%ED%82%B9%93%E0%97e%8F%DA%8D%D7%3E"></a>
としてもサーバエラーになってしまいます。
subjectやbody をつけなければ動くのですが、どこがいけないんでしょうか ?
ソースは ShiftJISになっています。よろしくお願いします。
No.3ベストアンサー
- 回答日時:
携帯では、mailtoでの動作が機種ごとに違うことがあります。
bodyやsubjectのパラメータの渡し方が違ったり、パラメータを渡せない端末もあります。
解決策は、携帯の機種ごとに使えるmailtoの書式を調べ、機種ごとに出力する内容を変えるか、メールに文字を含めるのをあきらめるか・・・です。
参考に、同じような問題にあたった他Q&Aサイトの記事を張っておきます。
参考URL:http://www.gac.jp/article/index.php?stats=questi …
twinkleluzさんありがとうございました。
…そういう事でしたか。サーバエラー以前にこれでは使えないですね。
情報ありがとうございました。
本文を含めるのはUI的に無理があるのであきらめようと思います。
ありがとうございました。
No.2
- 回答日時:
質問者様の<a href="~略~"></a>をそのままコピー&ペーストして、
print "Content-type:text/html; charset=shift_jis\n\n";
$vote = '<a href="~略~">linkdayo</a>';
print $vote;
exit;
とし、SJIS保存で実行してみましたが正常に動作しました。
サーバOSは windows と linux , メーラはoutlookです。
解釈は間違っていないでしょうか?
$vote = "<a href="~略~">linkdayo</a>";
として中の"を\でエスケープし忘れたとかではないですよね。
arcsinさん
ありがとうございます。よくよく確認してみましたら記述が間違っていたようです。動くようにはなりましたが、既に↑の方で無理があることがわかりましたので、今回はあきらめる事にしました。
ありがとうございました。
No.1
- 回答日時:
理由はよくわかりませんが、utf8のエンコードで下記のように書いてみたらちゃんとできましたよ(改行は %0a です)。
ブラウザやメールソフトにもよるんじゃないでしょうかね。尚、当方は Firefox と Thunderbird の組み合わせです。OS は Linux です。<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf8">
<title>test</title>
</head>
<body>
<a href="mailto:yourname@yourhost.yourdomain?subject=持込に関して&body=@ご住所%0a@お電話番号%0a<問い合わせ内容詳細>">a</a> </body>
</html>
この回答への補足
noboru2000さん、お返事ありがとうございます。
実はクライアントが携帯なので、エンコードは ShiftJISである必要があるんです。
サーバ側の問題ですかね ? それとも perl 記述の基本的な部分のミス ?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・スマホ・電化製品) Google ドライブのようにXnBay ストレージ サーバのストレージスペースをコンピュータのエク 2 2023/04/28 19:09
- マウス・キーボード Pc切替器が動作しません。理教えてください。よろしくお願いします。 4 2023/05/10 15:43
- 船舶・クルーズ Windows10のエクスプローラにて。 1 2022/10/10 20:11
- 政治 【旧統一教会と接点】立憲「逃げられると思ったら大きな間違い」細田議長の説明要求……大丈夫かな? 3 2023/01/11 14:35
- サバイバルゲーム このタイプの差し込み口ってなんの種類か分かりますか? 3 2022/07/29 15:32
- ZOZOTOWN このタイプの差し込み口ってなんの種類か分かりますか? 2 2022/07/29 15:31
- CPU・メモリ・マザーボード ノートPCのSSDを外付けSSDとして運用したい。 2 2022/06/11 22:12
- 経済 国債をどんどん発行して、国家予算に充てれば良いという考え方が提唱されてますが…… 5 2022/10/09 19:34
- その他(コンピューター・テクノロジー) 指紋認証は危険ですよね?このサイトの通り指紋認証は簡単に突破出来ます https://gigazin 1 2023/06/29 21:26
- 電子マネー・電子決済 paypayあと払いって300円かかるの? 3 2022/05/26 19:21
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sendmailで複数の宛先にメール...
-
Perl からbashを呼び出したい
-
netsend で振り分け
-
Sendmailで送信。メアドが違う...
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
formで特定のinputを送信しない...
-
実行時エラー 3020の対策
-
文字の横にプルダウンを表示さ...
-
16進の10進変換について
-
<SELECT>タグの折り返し
-
FindFirst を複数条件で検索
-
メモリをアドレスを直接指定し...
-
perlで作ったcgiがIE6で西ヨー...
-
セレクトメニューで2つの項目...
-
select や option のCSS設定
-
プルダウンメニューで中央表示
-
検索機能の作成で困っています
-
PythonのExperimentに関する質...
-
perl言語について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sendmailで複数の宛先にメール...
-
フォームの日本語が文字化け
-
perl フォームメール送信の...
-
sendmailで複数アドレスに送信...
-
サーバー内のテキストデータを...
-
Perlにて、sendmailを使用する...
-
sendmailで送信したメールが届...
-
Sendmailの文字化けについて
-
CGI メールフォームからBCCのア...
-
sendmailが上手く動かないのか...
-
メールフォームCGIの文字化け。...
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
CLispのloop内の挙動について
-
formで特定のinputを送信しない...
-
16進の10進変換について
-
文字の横にプルダウンを表示さ...
-
実行時エラー 3020の対策
-
【メモリ不足で落ちる(python)】
-
パイソンのクラスのブログラム
おすすめ情報