PHPMailer - smtp de gmail ne fonctionne pas correctement
- Je utiliser smtp de gmail pour formulaire de contact dans mon site.(PHPMailer script https://github.com/PHPMailer/PHPMailer)
mon code est:
<?php
include "classes/class.phpmailer.php"; //include the class name
$mail = new PHPMailer(); //create a new object
$mail->IsSMTP(); //enable SMTP
$mail->SMTPDebug = 1; //debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; //authentication enabled
$mail->SMTPSecure = 'ssl'; //secure transfer enabled REQUIRED for GMail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; //or 587
$mail->IsHTML(true);
$mail->Username = "[email protected]";
$mail->Password = "xxxxxxxxxx";
$mail->SetFrom("[email protected]");
$mail->addReplyTo("[email protected]");
$mail->Subject = "Your Gmail SMTP Mail";
$mail->Body = "Hi, your first SMTP mail via gmail server has been received.";
$mail->AddAddress("[email protected]");
if(!$mail->Send()){
echo "Mailer Error: " . $mail->ErrorInfo;
}
else{
echo "Message has been sent";
}
?>
Il fonctionne, mais j'ai deux problèmes:
- J'ai mis
$mail->SetFrom("[email protected]");
mais dans mon gmail montrerfrom: [email protected]
- J'ai mis
$mail->addReplyTo("[email protected]");
mais dans mon gmail lorsque je clique sur le bouton de rembobinage e-mail rejoué à[email protected]
mon code est
Pourquoi êtes-vous à l'aide de "principal" dans le script
c'est l'email qui doit envoyer des e-mails à partir de mon site(ce n'est pas vrai e-mail que j'utilise juste pour exemple)
N' "[email protected]" vous appartiennent?
oui ses mon e-mail
$mail->Username = "[email protected]";
?c'est l'email qui doit envoyer des e-mails à partir de mon site(ce n'est pas vrai e-mail que j'utilise juste pour exemple)
$mail->Username = "[email protected]";
est le nom d'utilisateur pour se connecter smtp de gmail.[email protected]
est un email que l'utilisateur d'entrer dans le formulaire de contactN' "[email protected]" vous appartiennent?
oui ses mon e-mail
OriginalL'auteur user2511140 | 2013-12-02
Vous devez vous connecter pour publier un commentaire.
Google ne vous permet pas d'envoyer des messages au nom d'un autre utilisateur [aka "usurper"], sauf si vous avez été expressément autorisé. Si vous n'avez pas été admis il va réécrire l'adresse à l'adresse de l'envoi du compte.
Pour ajouter un compte, connectez-vous à gmail, et allez dans Paramètres > Comptes > Envoyer un Mail... lorsque vous ajoutez une adresse gmail envoyer un message à cette adresse pour demander confirmation pour vous permettre de vous envoyer un mail en leur nom.
eh bien, vous pouvez convaincre Gmail arrêter de faire e-mail correctement, arrêtez d'usurpation d'autres peuples adresses e-mail, ou utiliser un autre SMTP du fournisseur.
OriginalL'auteur Sammitch
J'ai trouvé ma réponse.
dans votre Gmail aller à
cliquez sur Ajouter une autre adresse de courriel que vous possédez
dans la nouvelle fenêtre, entrez la nouvelle adresse électronique (par exemple si votre compte gmail est
[email protected]
vous devez entrer[email protected]
)ou(si votre adresse gmail ont point vous devez changer la position d'un point.exemple si votre compte gmail est
[email protected]
vous devez entrer[email protected]
)n'oubliez pas de décocher Traiter comme un alias.
cliquez sur étape suivante.
revenir à
setting ->accounts ->Send mail as
faire un nouvel email en tant que défaut
vérifier
Reply from the same address the message was sent to
tout fait!
- je changer le code d'utilisation de nouveaux codes.
maintenant montrer à partir de mon site
désormais, lorsque vous cliquez sur replay botton montrer replay de l'email de l'utilisateur
OriginalL'auteur user2511140
Il est plus simple de mettre l'ancre avec mailto dans
fin du texte de l'email, par exemple:
Lorsque l'utilisateur clique sur cette ancre, pop-up s'ouvre avec l'adresse e-mail correcte
dans le champ envoyer.
OriginalL'auteur TomoMiha