Я спрашиваю здесь, потому что у меня не было ответа от OVH (мой хостинг). В этом случае: Если я заменил $ mail-> MsgHTML ($ msg) на $ mail-> MsgHTML ($ _ POST ['message']), я получаю почту мгновенно с заголовками, именем, электронной почтой, темой и сообщение. Но когда я ставлю $ msg, я не получаю почты.
$msg='Name:'.$_POST['name'].'<br />
Email:'.$_POST['email'].'<br />
Subject: '.$_POST['subject'].'<br />
IP:'.$_SERVER['REMOTE_ADDR'].'<br /><br />
Message:<br /><br />
'.nl2br($_POST['message']).'
';
весь PHP (от FancyAJAXForm):
<?php
/* config start */
$emailAddress = 'my mail address';
/* config end */
require "class.phpmailer.php";
foreach($_POST as $k=>$v)
{
if(ini_get('magic_quotes_gpc'))
$_POST[$k]=stripslashes($_POST[$k]);
$_POST[$k]=htmlspecialchars(strip_tags($_POST[$k]));
}
$msg='Name:'.$_POST['name'].'<br />
Email:'.$_POST['email'].'<br />
Subject: '.$_POST['subject'].'<br />
IP:'.$_SERVER['REMOTE_ADDR'].'<br /><br />
Message:<br /><br />
'.nl2br($_POST['message']).'
';
$mail = new PHPMailer();
$mail->IsMail();
$mail->AddReplyTo($_POST['email'], $_POST['name']);
$mail->AddAddress($emailAddress);
$mail->SetFrom($_POST['email'], $_POST['name']);
$mail->Subject = "Contact Form: ".mb_strtolower($_POST['subject'])." from ".$_POST['name']."";
$mail->MsgHTML($msg);
$mail->Send();
?>
Вы можете опубликовать вывод 'var_dump ($ msg)' – ilanco
Вы проверили возвращаемое значение 'Send()'? Вы проверили папку со спамом? Вы посмотрели заголовки сообщения электронной почты, которое прошло (должна быть какая-то информация о пути, который занимает электронная почта, некоторые ретрансляционные серверы более разборчивы, чем другие, о том, что они проходят)? – DCoder
@ilanco: var_dump ($ тзд) возвращение: "Имя: Email: Тема: IP: ** мой IP Сообщение: " DCoder: Как я уже сказал, я получаю почту, когда я заменяю MsgHTML ($ msg) по MsgHTML ($ _ POST ['message']); – unK