使用PHP会话发送PHP消息


PHP Message send with PHP Session

这个脚本的目的是发送一封电子邮件,但它不会包含您的姓名和电子邮件,而是将其包含在消息中,因为网站已经从PHP会话中获得了这方面的详细信息。目前"2Email"有效。。它可以向收件人的邮箱发送消息,并包含用户的输入消息。但它并没有遵循模板。I.E.它不包括文本"通过dashbaord发送"

<?php
session_start();
if(!isset($_SESSION["USER"])){
    header("Location: ../login.php?NotAuth");
}

 $to = $_POST['2Email'];
 $name = $_SESSION["USER"]["FullName"]; 
 $email = $_SESSION["USER"]["Email"];
 $subject = $_POST['regarding'];
 $message = $_POST['msg'];
 $Cc= $_SESSION["USER"]["Email"];
 $headers = "From: $email";
 $tracker = "This message was sent via the TrackerSystem dashboard";

$message = "Hi, "."'n".$message. "'n". "Regards, ".$name. "'n".$tracker. 
 $sent = mail($to, $subject, $message, $headers) ; 
 if($sent) {
     print "Sent successfully! XD "; 
    } else {
         print "The server made a booboo, the email didn't send :'( "; 
    } 

    ?>

这是第19行的打字错误吗:"'n".$tracker.?如果是这样的话,这就是阻止您的tracker被附加到消息中的原因。

实际发生的事情:第19-20行的整个表达式(这一行):

$message = "Hi, "."'n".$message. "'n". "Regards, ".$name. "'n".$tracker. 
   $sent = mail($to, $subject, $message, $headers) ; 

正在从右到左进行评估(如果它真的有效,我对此表示怀疑)。因此(第一)发送邮件并将结果分配给$sent,(第二)将整个连接字符串分配给$message

要修复它,请将"'n".$tracker.设置为"'n".$tracker;