Les Allergies
Alimentaires
Posez votre question Signaler

PHPMailer() ne fonctionne pas ! [Résolu]

yengui - Dernière réponse le 19 avril 2011 à 09:34
Bonjour,
Il faut dire que j'ai bien galéré !
en utilisant la classe phpMailer que j'ai téléchargé ici (http://phpmailer.sourceforge.net/), j'ai essayé de l'utilisé sur mon site, mais toujours le message d'erreur !
voici mon code :
-------------------------------
include("class.smtp.php");
include("class.phpmailer.php");
$answer="Message envoyé";
$descriptif_txt = "bla bla bla ..";
$mails = new PHPMailer();
$mail->SMTPAuth = false;
$mails->From = "contact@monDomaine.com";
$mails->FromName = "monDomaine";
$mails->Host = "aut.smtp.1and1.fr";
$mails->Mailer = "smtp";
$mails->Subject = "Nouveau message ..";
$mails->Body = $descriptif_txt;
$mails->AddAddress("moi@monDomaine.com");
if(!$mails->Send())
$answer= "There has been a mail error sending your email ! ";
$mails->ClearAddresses();
----------------
j'ai aussi essayé : $mails->Host = "smtp.1and1.fr";
tout en vain !
Je compte sur votre aide !
D'avance merci
Lire la suite 

PHPMailer() ne fonctionne pas »

20 réponses
Réponse
+5
moins plus
Bonjour,

Réponse très tardive, mais mieux vaut tard que jamais.
En local, Windows XP Home SP3, Wampserver 2.0c, PHPmailer version 2.2.1
Envoi de courriels via le SMTP de 1and1 :

error_reporting(E_STRICT);
date_default_timezone_set('Europe/Paris');

require_once(class.phpmailer.php');
require_once(class.smtp.php');

$mail = new PHPMailer();
$mail->SetLanguage('fr');
$mail->IsSMTP();
$mail->SMTPDebug  = false;
$mail->SMTPAuth   = true;

$mail->Host       = "auth.smtp.1and1.fr";
$mail->Port       = 587;
$mail->Username   = "utilisateur";
$mail->Password   = "mot_de_passe";
$mail->From       = "Adresse_from";

$mail->FromName   = "Responsable Forum";

//Caractéristiques du message
$mail->CharSet     = 'iso-8859-1';
$mail->ContentType = 'text/plain';
$mail->Encoding    = '8bit';

$mail->Subject    = "Test PHPMailer Sujet via 1and1";
$mail->Body       = "Bonjour,\n\nVoici le corps du message.\nMessage envoyé avec PHPMailer";
$mail->WordWrap   = 0;

$mail->AddAddress("adresse", "nom");

$mail->AddCC("adresse_en_copie", "nom");
$mail->AddBCC("adresse_en_bcc", "nom");

if(!$mail->Send()) echo "PHPMailer Erreur d'envoi : ".$mail->ErrorInfo;
else echo " PHPMailer : Le Message a été envoyé !";
gg - 27 août 2010 à 01:51
sdf
benyoussef- 2 sept. 2010 à 16:47
Bonjour,
Merci de m'aider pour configurer les mails sur Mantis , ca fait plusieurs jours je cherche comment le configurer je rien trouvé .
mon problème je sais pas si j'installe phpmailer ou bien non!! si oui comment l'installer et le configurer ?
mes répertoires d'installation :
E:\WebMantis\mantis
E:\WebMantis\Php
E:\WebMantis\Apashe
E:\WebMantis\mysql

Je compte sur votre aide.
Merci.
Ajouter un commentaire
Réponse
+1
moins plus
Bonjour,

J'ai le même problème, et ça ne marche pas : "Language string failed to load: connect_host "

donc je rajoute la ligne => $mail->SetLanguage('fr');
et => Could not load language file

autre question: on doit ou on ne doit pas toucher au ficher "class.phpmailer" ?

je suis chez 1&1 aussi sous windows XP
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Comme je n'ai pas encore résolu mon problème, je vous RE-demande de m'aider..

Merci
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

Je sais pas trop te dire ce qui ne va pas dans ton code, mais je peux te montrer ce qui marche chez moi :

require("../phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "smtp.xxxxxx.fr"; // SMTP server
$mail->From = $Email;
$mail->FromName = "$Titre $Nom $Prenom $Societe";
$mail->AddAddress("xxxxx@xxxx.xx");
$mail->Subject = $Sujet;
$mail->Body = "$Message";
$mail->WordWrap = 50;


Les petits problèmes que j'avais eu au début venaient du serveur SMTP (je faisais mes tests en local avec déjà l'adresse du serveur SMTP que j'ai chez mon hébergeur). Il fallait donc que je mette celui de mon FAI. Par contre, pour mettre en ligne la version finale sur le site, il faut bien évidemment mettre la bonne adresse (celle de l'hébergeur).

Je sais pas si j'ai pu t'aider mais bon courage pour la suite.

@+ Ks
Ajouter un commentaire
Réponse
+0
moins plus
Salut,
J'ai moi aussi un problème curieux avec phpmailer.
Je l'utilise sur mon serveur distant avec un smtp qui m'a été préconisé. Je fais une boucle comme dans le code de démo proposé dans la doc de phpmailer. Dans cette boucle, je vais écrire à chaque tour les données d'envoi d'un des mails. Aucun problème : je teste sur trois comptes emails, les trois s'écrivent dans la table.
Ensuite je parcours la table dans une boucle classique du genre while($data = mysql_fetch_array($result) et là; bizarrement, phpmailer ne m'envoie que le premier email. Pourtant, ma boucle retrouve bien les trois.
Moi yen a pas comprendre...
Un problème de vitesse avec le serveur SMTP distant ?
Ajouter un commentaire
Réponse
+0
moins plus
J'ai le même problème (bon un envoi de 600 mails...) mais quand j'en fais qu'un ca marche, quand ca boucle sur le meme mail, j'ai les 600 envois sur ce mail mais dès que ca passe par la requête : nada...
Ajouter un commentaire
Réponse
+0
moins plus
Salut Yengui, je ne sais pas si tu as réussi à résoudre ton problème depuis le temps mais voilà il y une petite erreure dans l'extrait que tu nous a donné, ce ne serait pas : "auht.smtp.1and1.fr" plutôt ?
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Dans le dossier "languages", il faut le fichier "phpmailer.lang-fr.php".

Ce qui suit fonctionne parfaitement chez moi avec Windows XP Home SP3, sous Wampserver 2.0i (Apache 2.2.11, PHP 5.3.0 et MySQL 5.1.37)

<?php
error_reporting(E_STRICT);
date_default_timezone_set('Europe/Paris');

require_once('include/class.phpmailer.php');
require_once('include/class.smtp.php');

$mail = new PHPMailer();
$mail->SetLanguage('fr');
$mail->IsSMTP();
$mail->SMTPDebug  = false;
$mail->SMTPAuth   = true;

// 1and1 fonctionne en local
$mail->Host       = "auth.smtp.1and1.fr";
$mail->Port       = 587;
$mail->Username   = "utilisateur@chez_1and1.fr";
$mail->Password   = "mon_mot_de_passe";
$mail->From       = "tartempion@chezlui.net";
$mail->FromName   = "Responsable Forum";


//Caractéristiques du message
$mail->CharSet     = 'iso-8859-1';
$mail->ContentType = 'text/plain';
$mail->Encoding    = '8bit';

$mail->Subject    = "Test PHPMailer via 1and1 port 587";
$mail->Body       = "Bonjour,\n\nVoici le corps du message.\nMessage envoyé avec PHPMailer";
$mail->WordWrap   = 0;

$mail->AddAddress("pour_lui@la_bas.net", "André Dupont");


if(!$mail->Send()) echo "PHPMailer Erreur d'envoi : ".$mail->ErrorInfo."\n";
else echo "PHPMailer : Le Message a été envoyé !\n";
$mail->SmtpClose();
unset($mail);

?>
Ajouter un commentaire
Réponse
+0
moins plus
en effet il n'est pas présent dans le dossier language!

peux tu me copier la source de ce fichier "phpmailer.lang-fr.php" ici stp?
Ajouter un commentaire
Réponse
+0
moins plus
Bonsoir,

Négatif. Il vaut mieux aller télécharger le dernier « package » PhpMailer ; mon fichier "fr" est modifié.
Ajouter un commentaire
Réponse
+0
moins plus
Je viens de tester avec, j'en ai trouvé un, ça ne marche pas. Toujours ce "Could not load language file "
si je l'enlève: "Language string failed to load: connect_ho"

question: $mail->Username et £mail->From sont souvent les même non?
le from est bien l'adresse d'expéditeur qui apparait dans le mail?

bon voici mon code:


require_once('phpmailer-1.71/phpmailer/class.phpmailer.php');
require_once('phpmailer-1.71/phpmailer/class.smtp.php');
$mail = new PHPmailer();
$mail->SetLanguage('fr');
$mail->IsSMTP();
$mail->SMTPDebug = false;
$mail->SMTPAuth = true;
$mail->Host='auth.smtp.1and1.fr';
$mail->Port = 587;
$mail->Username = 'info@mon_domaine1&1.com';
$mail->Password = 'motdepasse';
$mail->From='info@mon_domaine1&1.com';
$mail->AddAddress('destination@gmail.com');
$mail->AddReplyTo('destination@gmail.com');

//Caractéristiques du message
$mail->CharSet = 'iso-8859-1';
$mail->ContentType = 'text/plain';
$mail->Encoding = '8bit';
$mail->Subject='sujet';
$mail->Body='Voici un exemple d\'e-mail au format Texte';
if(!$mail->Send()){
echo $mail->ErrorInfo;
}else{
echo 'Mail envoyé avec succès';
}
$mail->SmtpClose();
unset($mail);



merci de ton aide
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour !

Je sais que le sujet est vieux mais voici une piste vers la réussite de ce bout de script :

$mail->SetLanguage('fr','phpmail/language/');

En clair, tu mets tu ajoute le chemein du dossier des langues.

Voilà en espérant que ça aide si quelqu'un passe par là :D
Ajouter un commentaire
Réponse
+0
moins plus
bonjour,

en fait c'était un problème dû à hébergeur : OVH

ils sont des problèmes avec les fonctions d'envoi d'email dans les scripts, et ça bloque tout automatiquement!!
mailerman - 11 mai 2010 à 15:28
Ah ! Oui effectivement !

J'ai eu pas mal de problème avec OVH en utilisant cette fonction...
Ils me bloquaient la réception. Sauf que une fois débloqué tous les mails sont arrivé en réception et je me suis fais black lister mon adresse par "les grands pontes" du système :D
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
Je galère depuis 7jours j'ai pas trouvé comment configurer et installer Phpmailer.
Pour information j'ai installé Apashe et Php et mysql et les trois ca fonctionne et mon site mantis aussi, mais la probleme dans l'envoie de mail.
Comment installer et configurer phpmailer?
j'ai bien chercher sur le forum j'ai rien trouvé .
je suis débutant dans le domaine.

Je compte sur votre aide !
Merci
Ajouter un commentaire
Réponse
+0
moins plus
En faite, pour ceux qui sont sur 1&1, le mail fonctionne en local.

Il faut remplacer isSMTP() par IsMail et ça marche!

bonne chance!
geve2009 - 13 nov. 2010 à 19:01
Bien vu, Sangria !
Cela résoud mon problème !
Allez hop, je vais boire un ptit coup à ta santé ;-)
Ajouter un commentaire
Réponse
+0
moins plus
Personnellement j'utilise la classe de J Houbart ( http://www.phpcs.com/codes/CLASSE-MESSAGERIE_44094.aspx ) elle est beaucoup plus facile et plus performante (moins lourde l'usine à gaz "phpmailer")

Anth
Ajouter un commentaire
Ce document intitulé « PHPMailer() ne fonctionne pas ! » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?