解決済み

header("Location: mailto:

  • すぐに回答を!
  • 質問No.9405354
  • 閲覧数121
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 79% (921/1157)

header("Location: mailto:
でメーラを開く時、本文を改行させたらエラーになるのですが、回避する方法はありませんか?



<?php
// 送信ボタンが押されたら
if (isset($_POST["submit"])) {
$wk_adrs= "web@test.sakura.ne.jp";
$wk_subject= "サブジェクト";


// これはOK
$wk_body= "ボディー";

// これはNG
$wk_body= "1行目ボディー".PHP_EOL."2行目ボディー";

// これもG
$wk_body = <<< EOM
1行目ボディー
2行目ボディー
EOM;

// 画面遷移させる
$wk_Location="Location: mailto:".$wk_adrs."?subject=".$wk_subject."&body=".$wk_body;
header($wk_Location);

exit;
}
?>


下記のメッセージが出る
Warning: Header may not contain more than a single header, new line detected in

質問者が選んだベストアンサー

  • 回答No.1

ベストアンサー率 25% (189/755)

テストもなーにもしてないから正解かわかりませんが、

http://www.kanaya440.com/contents/tips/html/003.html
http://www.tagindex.com/html_tag/link/a_mailto_sub.html

%0d%0a … 改行を入れます

って書いてるからこれじゃ?
お礼コメント
webuser

お礼率 79% (921/1157)

ありがとうございます。
投稿日時 - 2017-12-12 12:54:36
感謝経済

その他の回答 (全1件)

  • 回答No.2

ベストアンサー率 68% (826/1206)

他カテゴリのカテゴリマスター
// 画面遷移させる
$wk_body = urlencode( $wk_body );
$wk_Location="Location:....

~みたいにしたら通るかも?

P.S.
今の時代、"mailto:" は使わない方が良いと思います。そもそも "mailto:" で起動させるべきメールソフトがもう時代遅れと言うか、使ってる人はかなりの少数派になってしまったので意味をなさない場合はほとんどかと(何も起きないかエラーメッセージが出るだけ)。

どうしてもphp経由でメール送信したのであれば、きちんとメールサーバを立ち上げて mb_send_mail() を使うべきです。
お礼コメント
webuser

お礼率 79% (921/1157)

ありがとうございます。
投稿日時 - 2017-12-25 10:43:39
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


感謝指数をマイページで確認!

ピックアップ

ページ先頭へ