-PR-
解決済み

header("Location: mailto:

  • すぐに回答を!
  • 質問No.9405354
  • 閲覧数79
  • ありがとう数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
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル13

ベストアンサー率 26% (183/698)

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

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
レベル13

ベストアンサー率 66% (707/1070)

// 画面遷移させる
$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


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

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

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

特集


開業・独立という夢を持つ人へ向けた情報満載!

ピックアップ

-PR-
ページ先頭へ