PHPMailer() ne fonctionne pas !

Résolu
yengui -  
 Anthonny -
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

16 réponses

Otomatic
 
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é !";
9
gg
 
sdf
0
benyoussef Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
sangria
 
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!
4
geve2009
 
Bien vu, Sangria !
Cela résoud mon problème !
Allez hop, je vais boire un ptit coup à ta santé ;-)
0
marion
 
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
1
yengui
 
Bonjour,

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

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ks
 
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
0
Georges VIGREUX
 
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 ?
0
Keith
 
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...
0
Volyz
 
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 ?
0
Otomatic
 
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);

?>
0
marion
 
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?
0
Otomatic
 
Bonsoir,

Négatif. Il vaut mieux aller télécharger le dernier « package » PhpMailer ; mon fichier "fr" est modifié.
0
marion
 
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
0
mailerman
 
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
0
Marion
 
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!!
0
mailerman
 
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
0
benyoussef Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
Anthonny
 
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
0