2012-04-29 26 views
0

我在这里问,因为我没有从OVH(我的托管)得到答案。 这里是问题: 如果我用$ mail-> MsgHTML($ _ POST ['message'])替换$ mail-> MsgHTML($ 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(); 

?> 
+0

你可以发布'var_dump($ msg)' – ilanco

+0

的输出你检查过Send()的返回值吗?你检查过垃圾邮件文件夹吗?你看过电子邮件的标题了吗(应该有关于电子邮件路径的一些信息,一些中继服务器比其他人更关心他们传递的信息)? – DCoder

+0

@ilanco:后续代码var_dump($ MSG)的回报: “姓名: 电子邮件: 主题: IP:**我的IP 消息: ” DCoder:正如我所说的,我收到邮件时,我代替MsgHTML($ msg)by MsgHTML($ _ POST ['message']); – unK

回答

4

好我解决了这个问题。

我已经与身体机能替换$ MAIL-> msgHTML($味精):

$mail->IsHTML(true); 
$mail->Body='Name: '.$_POST['name'].'<br /> 
Email: '.$_POST['email'].'<br /> 
Sujet: '.$_POST['subject'].' 
<br /><br /> 

'.nl2br($_POST['message']).' 

<br /><br /> 
Browser: '.$_SERVER['HTTP_USER_AGENT'].'<br /> 
IP: '.$_SERVER['REMOTE_ADDR'].'<br /> 
'; 

$mail->Send(); 

它完美! 感谢所有参与者!

+3

由于您已经有了解决方案,请点击勾号图标将其标记为已接受。这将有助于其他人在未来寻找类似的答案。 – Spudley

2

我知道这不完全是及时的,但我发现了一个替代的解决方案:

我也有类似的问题,但我有工作,一些没有一些网页。我试过你的解决方案,但它给了我相同的结果。

然后,我查看了工作页面中电子邮件的html源代码,发现我已经包含了开始和结束的html和body标签,而且我没有将它们包含在非工作页面中。这一切都花了,$ mail-> msgHTML($味精)为我工作。

希望这会有所帮助。