2017-07-02 5 views
0

J'ai du mal à comprendre comment envoyer des emails avec PHPMailer.Envoyer des emails avec PHPMailer

J'ai plusieurs clients de sites Web et j'ai mis en place un formulaire de contact pour chacun d'entre eux. Je peux envoyer des emails à ma propre adresse email mais pas à la leur.

C'est la fonction que j'ai écrite pour le faire.

function sendSMTP($host, $usr, $pwd, $port, $fromAddr, $fromName, 
$replyAddr, $replyName, $addr, $subject, $body) 
{ 
$mail = new PHPMailer(true); 

$mail->SMTPDebug = 1; 

$mail->isSMTP(); 
$mail->Host   = $host; 
$mail->SMTPAuth  = true; 
$mail->Username  = $usr; 
$mail->Password  = $pwd; 
$mail->SMTPSecure = 'ssl'; 
$mail->Port   = $port; 

$mail->setFrom($fromAddr, $fromName); 
$mail->addReplyTo($replyAddr, $replyName); 

$mail->addAddress($addr); 

$mail->isHTML(true); 

$mail->Subject = $subject; 
$mail->Body = $body; 
} 

J'ai le sentiment que ça ne fonctionne pas à cause de quelque chose à voir avec les 4 premiers paramètres (hôte, utilisateur, mot de passe, port). J'ai commencé il y a quelques mois et je me suis assis dessus et maintenant je suis totalement perdu sur la façon de le réparer. Dois-je authentifier divers comptes expéditeurs pour chaque client? Je suis coincé. Quelle est la bonne façon d'utiliser cette fonction?

Répondre

0

J'ai réussi à envoyer un e-mail à mon adresse e-mail ou à une autre adresse e-mail depuis mon hôte local en utilisant PHPMailer. si vous utilisez gmail set HOST = smtp.gmail.com, définissez votre adresse e-mail et votre mot de passe dans USER, PASSWORD. J'ai trouvé le numéro de port par google 'numéro de port gmail'. J'espère que cela sera utile.

<?php 

require 'PHPMailerAutoload.php'; 

$mail = new PHPMailer; 
$mail->isSMTP();       // Set mailer to use SMTP 
$mail->Host = 'smtp.gmail.com';    // Specify main and backup SMTP servers 
$mail->SMTPAuth = true;      // Enable SMTP authentication 
$mail->Username = '[email protected]'; // your email id 
$mail->Password = 'password'; // your password 
$mail->SMTPSecure = 'tls';     
$mail->Port = 587;  //587 is used for Outgoing Mail (SMTP) Server. 
$mail->setFrom('[email protected]', 'Name'); 
$mail->addAddress('[email protected]'); // Add a recipient 
$mail->isHTML(true); // Set email format to HTML 

$bodyContent = '<h1>HeY!,</h1>'; 
$bodyContent .= '<p>This is a email that Radhika send you From LocalHost using PHPMailer</p>'; 
$mail->Subject = 'Email from Localhost by Radhika'; 
$mail->Body = $bodyContent; 
if(!$mail->send()) { 
    echo 'Message was not sent.'; 
    echo 'Mailer error: ' . $mail->ErrorInfo; 
} else { 
    echo 'Message has been sent.'; 
} 

?>