在php邮件功能的消息中插入换行符(userdetails)

时间:2016-09-22 07:55:23

标签: php email

这是我用来发送邮件的代码。但是要在邮件中传递的消息中的换行符不会插入新行。我尝试使用"
"," / n"," / r / n"。但是我正在将这些信息与消息一起提供,否则消息根本无法传递。

     <?php
      $to="******";
      $sub="contact_details";

    $userdetails="Name:".$_REQUEST["name"];
    $userdetails.="<br/>Phone number:".$_REQUEST["phone"];
    $userdetails.="<br/>Email:".$_REQUEST["email"]";
    $userdetails.="<br/>Message:".$_REQUEST["message"].`"<br>"`;

    if($_REQUEST["name"] && $_REQUEST["phone"] && $_REQUEST["email"] && $_REQUEST["message"])
    {
        $mail=mail($to,$sub,$userdetails);
        if($mail){

            echo "<script type='text/javascript'>alert('Submitted Successfully!')
                 </script>";
        }

        else{
            echo"<script type='text/javascript'>alert('Failed!')</script>";
        }
    }
    else {

        echo "<script type='text/javascript'>alert('Please enter all fields!');
                 </script>";    
    }
?>

提前致谢。

2 个答案:

答案 0 :(得分:0)

您发送的电子邮件不支持HTML,您需要添加\n,为了使html正常工作,您需要添加以下标题:

// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

// More headers
$headers .= 'From: <webmaster@example.com>' . "\r\n";
$headers .= 'Cc: myboss@example.com' . "\r\n";

mail($to,$subject,$message,$headers);

答案 1 :(得分:0)

你必须纠正错误的语法,你在电子邮件后添加了额外的&#34;(双引号),删除它,你可以使用&#34; \ n&#34;用于添加换行符。

   <?php
    $to="******";
    $sub="contact_details";

    $userdetails="Name:".$_REQUEST["name"]. "\n";
    $userdetails.="<br/>Phone number:".$_REQUEST["phone"]. "\n";
    $userdetails.="<br/>Email:".$_REQUEST["email"]. "\n";
    $userdetails.="<br/>Message:".$_REQUEST["message"]. "\n";

?>

另外,标题不是强制发送邮件,即使未设置标题,也可以发送邮件。