2010-10-21 61 views
7

我想添加一個回覆地址到我的PHP郵件程序,它只是從「我」和回覆我的地址。phpmailer不能添加回復地址

任何想法我做錯了什麼?我添加了$ mail-> AddReplyTo。我希望它回覆網頁表單的發件人。

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

$body    = file_get_contents('phpmailer/contents.html'); 
$body    = eregi_replace("[\]",'',$body); 
$body    = eregi_replace("<name>", $name,$body); 
$body    = eregi_replace("<telephone>", $telephone, $body); 
$body    = eregi_replace("<email>", $email, $body); 
$body    = eregi_replace("<message>", $message, $body); 




$mail->IsSMTP(); // telling the class to use SMTP 
$mail->Host  = "smtp.gmail.com"; // SMTP server 
        // enables SMTP debug information (for testing) 
              // 1 = errors and messages 
              // 2 = messages only 
$mail->SMTPAuth = true;     // enable SMTP authentication 
$mail->SMTPSecure = "ssl";     // sets the prefix to the servier 
$mail->Host  = "smtp.gmail.com";  // sets GMAIL as the SMTP server 
$mail->Port  = 465;     // set the SMTP port for the GMAIL server 
$mail->Username = "[email protected]"; // GMAIL username 
$mail->Password = "xxxxx"; 

$mail->AddReplyTo($email, $name); 


$address = "xxxx.net"; 

$mail->AddAddress($address, "Contact form"); 

$mail->Subject = " Contact Form"; 

回答

2

一些嘗試是,以確保您的$email$name變量在正確傳遞(添加一些調試語句呼應出來)。不知道你是否已經這樣做,或者如果你正在檢查表格是否已經發布。但那將是第一步。

從我與PHPMailer和GMail的工作中,他們不能很好地工作。相反,我會建議嘗試phpGMailer腳本。它適用於GMail。看看是否沒有解決你的問題。

UPDATE

考慮這個問題,我不認爲GMail的允許ReplyTo地址的變化,除非該Gmail帳戶已經激活授權該帳戶。我對此並不十分確定,但我通過網絡界面知道這是不可能的。

關閉主題

我會避免使用eregi_replace它貶值。我會用preg_replace代替。這裏是一個更新的版本,所以你可以更新你的代碼:

$body    = file_get_contents('phpmailer/contents.html'); 
$body    = preg_replace("~[\]~",'',$body); 
$body    = preg_replace("~<name>~i", $name,$body); 
$body    = preg_replace("~<telephone>~i", $telephone, $body); 
$body    = preg_replace("~<email>~i", $email, $body); 
$body    = preg_replace("~<message>~i", $message, $body); 
+0

謝謝布拉德,這節省了我很多時間,認爲你是正確的關於Gmail的回覆。認爲他只需要忍受它。 – Roscoeh 2010-10-22 05:29:16