4

wp_mail 関数の使用に問題があり、誰かが助けてくれることを願っています。

ユーザーがテキスト領域「メッセージ」に追加した電子メールに改行を挿入する必要があります。

誰でも助けてもらえますか?

現在、連絡先フォームからメールを送信する次のコードがあります。

<?php

if( !isset($_REQUEST) ) return;

require('../../../../wp-load.php');
function wpse27856_set_content_type(){
return "text/html";
}
add_filter( 'wp_mail_content_type','wpse27856_set_content_type' );

$name = $_REQUEST['name'];
$phone = $_REQUEST['phone'];
$email = $_REQUEST['email'];
$msg = $_REQUEST['message'];


$headers = 'From: '.$name.' <'.$email.'>' . "\r\n";
$message = '
<html>
<body>
Someone has made an enquiry on the online contact form:

<br /><br />
        <b>Contact Details:</b><br />
        '.$name.'<br />
        '.$phone.'<br />
        '.$email.'<br /><br />
        <b>Message:</b><br />
        '.$msg.'<br />

        <br /><br />


</body>
</html>
            ';

wp_mail('email@email.co.uk', 'Contact form Message' , $message, $headers);


?>
4

4 に答える 4

4

デフォルトでは、wp_mail() はメッセージをプレーン テキストとして送信するため、HTML は電子メール クライアントによって解析されません。

メールに次のヘッダーを含めます。

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

メールは HTML 形式であるため、適切な HTML ボイラープレート (HTML、HEAD、BODY...) を使用して有効にすることをお勧めします。

または、タグをキャリッジ リターン (\r\n) に置き換えることもできますが
、それでもタグを削除する必要があります。

これは、wp_mail() がラップする mail() の PHP ドキュメントで既にカバーされています。

http://php.net/manual/en/function.mail.php

于 2013-02-04T15:27:57.123 に答える
3

テキストエリアにhtmlが含まれている場合、メールにヘッダーを追加できます

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
于 2013-02-04T14:49:39.277 に答える
2

$msg = nl2br($_REQUEST['message']);

于 2013-02-04T14:49:58.637 に答える
1

このヘッダーを使用して、HTML を電子メールで送信します

$headers  = "MIME-Version: 1.0" . "\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1" . "\n";
    $headers .= "X-Priority: 1 (Higuest)\n";
    $headers .= "X-MSMail-Priority: High\n";
    $headers .= "Importance: High\n";

    $headers .= "From: Approprice <".$mailfrom.">" . "\n";
    $headers .= "Return-Path: Approprice <".$mailfrom.">" . "\n";
    $headers .= "Reply-To: Approprice <".$mailfrom.">";
于 2016-03-04T11:31:53.553 に答える