2012-04-29 6 views
0

私は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(); 

?> 
+0

あなたは 'var_dump($ msg)'の出力を投稿できます – ilanco

+0

'Send()'の戻り値をチェックしましたか?迷惑メールフォルダを確認しましたか?通過した電子メールのヘッダーを見ましたか(電子メールのパスに関する情報があるはずですが、一部の中継サーバーは通過するものについて他のものよりも頼りになります)。 – DCoder

+0

@ilanco:のvar_dump($のMSG)リターン: "名前: メール: 件名: IP:**私のIP メッセージ: " DCoder:私が言ったように私はMsgHTMLを交換するとき、私はメールを受信($ msg)by MsgHTML($ _ POST ['message']); – unK

答えて

4

[OK]を私は、問題解決を得ました。

私は身体機能と$ mail-> msgHTML($ MSG)を交換しました:

$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($ msg)が私のために働いた。

これが役に立ちます。

関連する問題