2017-09-04 27 views
-1
<?php 

require 'PHPMailerAutoload.php'; 
//echo !extension_loaded('openssl')?"Not Available":"Available <br/>"; 

$name = $_POST['username']; 
$email = $_POST['email']; 
$number = $_POST['phone']; 
$profession = $_POST['profession']; 

$to = '[email protected]'; 
$subject = 'user registration'; 
$phone = "phone number:".$number; 

$message = "client details:"."\n"."Name:".$name."\n"."email:".$email."\n"."phone number:".$number."\n"."profession:".$profession; 

$headers = "From:".$email; 

$mail = new PHPMailer; 

//$mail->SMTPDebug = 3;        

$mail->isSMTP();          
$mail->Host = 'ssl://smtp.gmail.com';  
$mail->SMTPAuth = true;        
$mail->Username = '[email protected]';      
$mail->Password = 'password';       
$mail->SMTPSecure = 'ssl'; 
$mail->Port = 465; 

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

$mail->Subject = $subject; 
$mail->Body = $message; 

if($mail->send()) { 
    header("Location: ../../thankyouNew.html"); 
} 
else { 
    header("Location: ../../somethingWrong.html"); 
} 

?>PHP的mail()函數使用不工作的PHPMailer

代碼執行else塊,我想將郵件發送到[email protected]和郵件後返回用戶的thankyou.html頁函數執行。我是新的這個PHP和我非常感謝幫助提前謝謝你。 忘記下面的行........

+1

什麼是在您的PHP錯誤日誌? – flauntster

+0

嘗試格式化你的問題。我們很難讀懂它。你不工作是什麼意思,它會給你一個錯誤還是什麼? –

+0

嘗試檢查您的錯誤日誌以查看發生了什麼錯誤。在開始'<?php'後,在當前代碼中添加'error_reporting(E_ALL); ini_set('display_errors',1);'並再次運行代碼,看看是否有東西。 –

回答

1

你實際上並沒有指定你想發送郵件的地方。您需要使用addAddress()方法,如下所示。此方法需要一個參數,但您可以提供兩個 - 與您的方法具有相同的方式;首先是目標地址,然後是可選的顯示名稱。

$mail = new PHPMailer; 

// ... 

$mail->setFrom($email, $name); 
$mail->addAddress($to); // Add this method to specify a recipient 
$mail->Subject = $subject; 
$mail->Body = $message; 
if($mail->send()) { 
    // ... 
} 
// ... 
+0

我做到了,但仍然沒有收到郵件,我需要在服務器之前配置任何東西 – vihar

+0

好吧,那麼問題不是一個明顯的問題。所以,我們不會來回猜測 - 而是從PHPMailer那裏得到實際的錯誤信息。在'else'塊中添加'echo $ mail-> ErrorInfo;'。如果沒有給你任何東西,在創建對象之後設置'$ mail-> SMTPDebug = 2;'並添加'$ mail-> Debugoutput = function($ str,$ level){echo「De-bug:$級別;消息:$ str「; };在else塊中 – Qirel