2017-09-04 2 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() Funktion funktioniert nicht mit phpmailer

Code ausgeführt wird auch Block, ich will Mail an [email protected] senden und die Rück Benutzer zur danke.html Seite nach der Post Funktion ist ausgeführt. Ich bin neu zu diesem PHP und ich würde die Hilfe sehr schätzen, danke im Voraus. vergessen Sie die folgenden Zeilen .........

+1

Was ist in Ihrem PHP-Fehlerprotokoll? – flauntster

+0

versuchen Sie Ihre Frage zu formatieren. wir können es kaum lesen. und was meinst du mit nicht arbeiten, gibt es dir einen fehler oder sowas? –

+0

versuchen Sie, Ihre Fehlerprotokolle zu überprüfen, um festzustellen, welcher Fehler auftritt. Fügen Sie außerdem 'error_reporting (E_ALL); ini_set ('display_errors', 1);' in Ihrem aktuellen Code kurz nach dem Start von '

Antwort

1

Sie geben nicht wirklich an, wo Sie die E-Mail senden möchten. Sie müssen die Methode addAddress() verwenden, wie unten gezeigt. Diese Methode erfordert einen Parameter, aber Sie können zwei angeben - genauso wie Ihre Methode setFrom(); zuerst die Zieladresse, dann ein optionaler Anzeigename.

+0

Ich habe es getan, aber immer noch nicht die Mail erhalten, muss ich alles im Server vor diesem konfigurieren – vihar

+0

Okay, dann ist das Problem nicht offensichtlich. Anstatt also hin und her zu raten, erhalten wir die eigentliche Fehlermeldung von PHPMailer. Fügen Sie 'echo $ mail-> ErrorInfo;' im Block 'else' hinzu. Wenn das nichts gibt, setze '$ mail-> SMTPDebug = 2;' nach dem Erstellen des Objekts irgendwo und füge '$ mail-> Debugoutput = function ($ str, $ level) {echo" De-bug: $ level; Nachricht: $ str "; }; 'im else-Block – Qirel