Неправильный формат сообщения электронной почты PHP Pear

Я знаю, что название странное, я не могу по жизни сказать, что это хорошо, лол.

Я сделал поиск с несколькими способами формулировки вопроса, и ничего не появляется для этого.

У меня есть сценарий для работы с электронной почтой на сайте, который я строю, и это фантастика! но когда я отредактировал почтовый код, добавив дополнительные строки сообщения, последовательность пошла не так.

Вот код, который я использую для области сообщений электронной почты:

<?php

require_once "Mail.php";

// load the variables form address bar

$name = $_REQUEST["name"];
$subject = 'Customer Feedback';
$message = $_REQUEST["message"];
$from = $_REQUEST["from"];
$compname = $_REQUEST["companyName"];
$ph = $_REQUEST["phone"];
$acp = $_REQUEST['allowCommentPublish'];
$marketing = $_REQUEST['incmarketing'];
$verif_box = $_REQUEST["verif_box"];

// Checking the check boxes and marking as appropriate
if(isset($_POST['allowCommentPublish']))
{
$acp = 'Yes';
}

else
{
$acp = 'No';
}

if(isset($_POST['incmarketing']))
{
$marketing = 'Yes';
}

else
{
$marketing = 'No';
}

// Optional data checker
if($compname == '')
{
$compname = 'N/A';
}

if($ph == '')
{
$ph = 'N/A';
}

// remove the backslashes that normally appears when entering " or '
$name = stripslashes($name);
$message = stripslashes($message);
$subject = stripslashes($subject);
$acp = stripcslashes($acp);
$marketing = stripcslashes($marketing);
$from = stripslashes($from);

// check to see if verificaton code was correct
if(md5($verif_box).'a4xn' == $_COOKIE['tntcon'])
{
// if verification code was correct send the message and show this page
$ToEmail = "[email protected]";

$message = "Name: ".$name."\n".$message;
$message = "From: ".$from."\n".$message;
$message = "Comments: ".$message."\n".$message;
$message = "Allow feedback to be Published: ".$acp."\n".$message;
$message = "[ OPTIONAL DATA ]"."\n".$message;
$message = "Company Name: ".$compname."\n".$message;
$message = "Phone Number: ".$ph."\n".$message;
$message = "Allow extra Marketing? ".$marketing."\n".$message;

$headers = array ('From' => $from,
'To' => $ToEmail,
'Subject' => 'Feedback: '.$subject);

$smtp = Mail::factory('smtp', array ('host' => 'smtp.vic.exemail.com.au', 'auth' => false));

$mail = $smtp->send($ToEmail, $headers, $message);

// delete the cookie so it cannot sent again by refreshing this page
setcookie('tntcon','');

header("Location: /feedback_sent.php");
exit;
}
else
{
// if verification code was incorrect then return to contact page and show error
header("Location:".$_SERVER['HTTP_REFERER']."?subject=$subject&from=$from&message=$message&wrong_code=true");
exit;
}
?>

На мой взгляд, это должно выложить тело сообщения, как это:

Имя: имя здесь
От: адрес электронной почты
Комментарии: Сообщение здесь
Разрешить публиковать отзывы: ответ
[ДОПОЛНИТЕЛЬНЫЕ ДАННЫЕ] Название компании: Компания
Номер телефона: Телефон
Разрешить дополнительный маркетинг:

Это должно быть, как это видно в электронном письме, верно?

Что я на самом деле получаю это:

Разрешить публиковать отзывы: ответ
[ДОПОЛНИТЕЛЬНЫЕ ДАННЫЕ] Название компании: компания
Номер телефона: телефон
Разрешить дополнительный маркетинг? отклик
От: адрес электронной почты
Имя: имя здесь
Комментарии: Сообщение здесь

Это нормально? или я случайно наткнулся на это где-то вдоль линии, и это портит мне голову в качестве оплаты?

Спасибо за любую помощь в этом.

РЕДАКТИРОВАТЬ: обновленный код.

<?php
// -----------------------------------------
//  The Web Help .com
// -----------------------------------------
// remember to replace [email protected] with your own email address lower in this code.

require_once "Mail.php";

// load the variables form address bar
$name = $_REQUEST["name"];
$subject = 'Customer Feedback';
$comment = $_REQUEST["message"];
$from = $_REQUEST["from"];
$compname = $_REQUEST["companyName"];
$ph = $_REQUEST["phone"];
$acp = $_REQUEST['allowCommentPublish'];
$marketing = $_REQUEST['incmarketing'];
$verif_box = $_REQUEST["verif_box"];

// Checking the check boxes and marking as appropriate
if(isset($_POST['allowCommentPublish']))
{
$acp = 'Yes';
}

else
{
$acp = 'No';
}

if(isset($_POST['incmarketing']))
{
$marketing = 'Yes';
}

else
{
$marketing = 'No';
}

// Optional data checker
if($compname == '')
{
$compname = 'N/A';
}

if($ph == '')
{
$ph = 'N/A';
}

// remove the backslashes that normally appears when entering " or '
$name = stripslashes($name);
$comment = stripslashes($comment);
$subject = stripslashes($subject);
$acp = stripcslashes($acp);
$marketing = stripcslashes($marketing);
$from = stripslashes($from);

// check to see if verificaton code was correct
if(md5($verif_box).'a4xn' == $_COOKIE['tntcon'])
{
// if verification code was correct send the message and show this page
$ToEmail = "[email protected]";

$message = "Name: ".$name."\n".$message;
$message .= "From: ".$from."\n".$message;
$message .= "Comments: ".$comment."\n".$message;
$message .= "Allow feedback to be Published: ".$acp."\n".$message;
$message .= "[ OPTIONAL DATA ]"."\n".$message;
$message .= "Company Name: ".$compname."\n".$message;
$message .= "Phone Number: ".$ph."\n".$message;
$message .= "Allow extra Marketing? ".$marketing."\n".$message;

$headers = array ('From' => $from,
'To' => $ToEmail,
'Subject' => 'Feedback: '.$subject);

$smtp = Mail::factory('smtp', array ('host' => 'smtp.vic.exemail.com.au', 'auth' => false));

$mail = $smtp->send($ToEmail, $headers, $message);

// delete the cookie so it cannot sent again by refreshing this page
setcookie('tntcon','');

header("Location: /feedback_sent.php");
exit;
}
else
{
// if verification code was incorrect then return to contact page and show error
header("Location:".$_SERVER['HTTP_REFERER']."?subject=$subject&from=$from&message=$message&wrong_code=true");
exit;
}
?>

0

Решение

Сделайте ваше сообщение «продолжить» в том порядке, в котором вы хотите, выполнив это:

    $message = "Name: ".$name."\n".$message;
$message .= "From: ".$from."\n".$message;
$message .= "Comments: ".$message."\n".$message;
$message .= "Allow feedback to be Published: ".$acp."\n".$message;
$message .= "[ OPTIONAL DATA ]"."\n".$message;
$message .= "Company Name: ".$compname."\n".$message;
$message .= "Phone Number: ".$ph."\n".$message;
$message .= "Allow extra Marketing? ".$marketing."\n".$message;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]