2012-07-22 133 views
0

该脚本的目的是发送一封电子邮件,但不包括您的姓名和电子邮件,它会将其包含在邮件中,因为该网站已经从PHP会话中获得了有关此信息的详细信息。目前“2Email”的作品..它可以发送一条消息到收件人的邮箱,并包括用户的输入消息。但它不遵循模板。 I.E.它不包括用PHP发送PHP消息会话

<?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 :'("; 
    } 


    ?> 
+0

用$ message连接$ tracker。 – itachi 2012-07-22 10:39:42

+1

'“\ n”。$ tracker.'应该是'“\ n”。$ tracker;' – madfriend 2012-07-22 10:44:02

+0

@madfriend似乎已经完成了这个伎俩......当我尝试使用“;”时,除非我忘记删除“。”,否则我不断收到语法错误。 ..但无论如何...它现在工作完美:D – Rsmithy 2012-07-22 10:48:29

回答

1

它是一个错字“通过dashbaord发送”上线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;

+0

的用户修复它...测试它在我的外部网站(所以发送消息),然后修改脚本创建会话,包括用户的电子邮件..它的工作。干杯:) – Rsmithy 2012-07-22 10:58:25