在PHP邮件命令中包含变量

时间:2015-02-12 05:05:57

标签: php email header

我确定我对基本的东西有误,但找不到错误的位置。我将非常感谢你的帮助。

我有一个包含4个字段联系表单的php页面。

我需要将名称和电子邮件作为变量发送,因此我可以在收到电子邮件时正确查看。

IT工作 - 但不要发送姓名和电子邮件变量:

所有邮件都以"no-reply@luchodomain.com"的形式到达并且看起来并不专业(并且无法通过我的展示回复)

if ($_POST) {

            $name = $_POST['name'];
            $email = $_POST['email'];
            $subject = $_POST['subject'];
            $message = $_POST['message'];

            $to = "lucho@hotmail.com";
            $subject = "Website CONTACT";

            $headers = "From: no-reply@luchodomain.com" . "\r\n" ; 
            $headers .= "MIME-Version: 1.0\r\n";
            $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

            $message = "<html><body>";
            $message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
            $message .= "<tr><td><strong>Name:</strong> </td><td>" . strip_tags($_POST['name']) . "</td></tr>";
            $message .= "<tr><td><strong>Email:</strong> </td><td>" . strip_tags($_POST['email']) . "</td></tr>";
            $message .= "<tr><td><strong>Subject:</strong> </td><td>" . strip_tags($_POST['subject']) . "</td></tr>";
            $message .= "<tr><td><strong>Message:</strong> </td><td>" . strip_tags($_POST['message']) . "</td></tr>";
            $message .= "</table>";
            $message .= "</body></html>";

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

IT DOENST WORKS(但有我需要的格式和变量)

我想收到像普通姓名这样的消息,所以我可以快速回复。 - 此代码不发送电子邮件,不起作用 -

if ($_POST) {

            $name = $_POST['name'];
            $email = $_POST['email'];
            $subject = $_POST['subject'];
            $message = $_POST['message'];

            $to = "lucho@hotmail.com";
            $subject = "Website CONTACT";

            $headers = "From: " . strip_tags($_POST['email']) . "\r\n";
            $headers .= "Reply-To: ". strip_tags($_POST['email']) . "\r\n";
            $headers .= "MIME-Version: 1.0\r\n";
            $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";


            $message = "<html><body>";
            $message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
            $message .= "<tr><td><strong>Name:</strong> </td><td>" . strip_tags($_POST['name']) . "</td></tr>";
            $message .= "<tr><td><strong>Email:</strong> </td><td>" . strip_tags($_POST['email']) . "</td></tr>";
            $message .= "<tr><td><strong>Subject:</strong> </td><td>" . strip_tags($_POST['subject']) . "</td></tr>";
            $message .= "<tr><td><strong>Message:</strong> </td><td>" . strip_tags($_POST['message']) . "</td></tr>";
            $message .= "</table>";
            $message .= "</body></html>";

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

我将非常感谢您对这个&#34;标题&#34;的帮助。问题!

谢谢。

2 个答案:

答案 0 :(得分:0)

确保您在邮政阵列中接收数据。确保您的表单操作。在之前分配了post值后,您已将$ message变量声明为空白。这不是一个好的伎俩。请检查更新的代码并告诉我们。

if ($_POST) {

            $name = strip_tags($_POST['name']);
            $email = strip_tags($_POST['email']);
            $subject = strip_tags($_POST['subject']);
            $message = strip_tags($_POST['message']);

            $to = "lucho@hotmail.com";
            $subject = "Website CONTACT";

            $headers = "From: " . strip_tags($_POST['email']) . "\r\n";
            $headers .= "Reply-To: ". strip_tags($_POST['email']) . "\r\n";
            $headers .= "MIME-Version: 1.0\r\n";
            $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";


            //$message = "";
            //$message .= '';
            $message .= "\r\nName: " . $name . "";
            $message .= "Email: " . $email . "\r\n";
            $message .= "Subject: " . $subject . "\r\n";
            $message .= "Message: " . $message . "";
            //$message .= "";
            //$message .= "";

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

答案 1 :(得分:0)

$to = 'pawanvikasitha2001@gmail.com, aravindasamapath87@gmail.com'; $subject = 'NEW ORDER HAS PLACED'; $message = "$name"; mail ($to,$subject,$message);

当您使用双引号时,您可以简单地向其中添加变量。看$message