PHP邮件程序脚本不在电子邮件中打印变量

时间:2015-02-26 07:41:15

标签: php sendmail

我遇到的问题是电子邮件的邮件部分。电子邮件发送得很好,大纲就在那里但是没有从变量打印出姓名电子邮件或消息。我似乎无法看到问题所在。任何帮助表示赞赏。

<?php session_start();
$name=$_POST['name'];
$email=$_POST['email'];
$text=$_POST['text'];
$to= 'noreply@noreply.com';
$subject = 'Request';
$message='Hello, my name is:' . $name . "\r\n" . 'My Email is: ' . $email . "\r\n" . 'My Message is: '. $text;
$headers = 'From: Request' . "\r\n" .
    'Reply-To: noreply@noreply.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
echo 'Mail Sent';
?>

2 个答案:

答案 0 :(得分:0)

从评论中,您将数据作为查询字符串传递,而不是POST中的有效负载。如此改变

$name=$_POST['name'];
$email=$_POST['email'];
$text=$_POST['text'];

$name=$_GET['name'];
$email=$_GET['email'];
$text=$_GET['text'];

应该有用!

答案 1 :(得分:0)

您使用GET方法发送了表单,数据位于$_GET

<?php 

session_start();

$name  = $_GET['name'];   // here
$email = $_GET['email'];  // here
$text  = $_GET['text'];   // here
$to    = 'noreply@noreply.com';
$subject = 'Request';
$message='Hello, my name is:' . $name . "\r\n" . 'My Email is: ' . $email . "\r\n" . 'My Message is: '. $text;
$headers = 'From: Request' . "\r\n" .
    'Reply-To: noreply@noreply.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
echo 'Mail Sent';
?>

要使用您当前的脚本版本,只需更改method中的form属性即可发布,例如<form method=post ...>