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 fonction mail() ne fonctionne pas à l'aide phpmailer

Code

est l'exécution d'un bloc ELSE, je veux envoyer du courrier à [email protected] et retourner utilisateur à la page merci.html après la poste La fonction est exécutée. Je suis nouveau à ce php et j'apprécierais grandement l'aide merci d'avance. oublier les lignes ci-dessous ...

+1

ce qui est dans votre erreur php journal? – flauntster

+0

essayez de formater votre question. nous pouvons difficilement le lire. et que voulez-vous dire par ne pas travailler, cela vous donne-t-il une erreur ou quelque chose? –

+0

essayez de vérifier vos journaux d'erreurs pour voir quelle erreur se produire. Ajoutez aussi 'error_reporting (E_ALL); ini_set ('display_errors', 1);' dans votre code actuel juste après avoir démarré '

Répondre

1

Vous ne spécifiez pas réellement où vous voulez envoyer l'email. Vous devez utiliser la méthode addAddress(), comme indiqué ci-dessous. Cette méthode nécessite un paramètre, mais vous pouvez en fournir deux - de la même manière que votre méthode setFrom(); d'abord l'adresse cible, puis un nom d'affichage optionnel.

$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

Je l'ai fait, mais je ne reçois toujours pas le courrier, dois-je configurer quelque chose dans le serveur avant cela – vihar

+0

D'accord, alors le problème n'est pas évident. Ainsi, au lieu de deviner d'avant en arrière - nous recevrons le message d'erreur réel de PHPMailer. Ajoutez 'echo $ mail-> ErrorInfo;' dans le bloc 'else'. Si cela ne vous donne rien, mettez '$ mail-> SMTPDebug = 2;' après avoir créé l'objet quelque part et ajoutez '$ mail-> Debugoutput = fonction ($ str, $ level) {echo" De-bug: $ niveau: message: $ str "; }; 'dans l'autre bloc – Qirel