Rechercher : dans
Par :

PHPMailer() ne fonctionne pas !

Dernière réponse le 10 aoû 2009 à 20:07:30 yengui, le 15 avr 2007 à 13:23:57 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 2.0.0.3

1

yengui, le 16 avr 2007 à 14:17:00

Bonjour,

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

Merci

Répondre à yengui

2

Ks, le 18 avr 2007 à 15:38:50

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

Répondre à Ks

3

Georges VIGREUX, le 8 mai 2007 à 22:16:44

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 ?

Répondre à Georges VIGREUX

4

Keith, le 6 aoû 2007 à 19:58:28

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...

Répondre à Keith

5

Volyz, le 2 nov 2007 à 01:00:57

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 ?

Répondre à Volyz

7

Otomatic, le 12 oct 2008 à 14:09:57
  • +4

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é !";

Répondre à Otomatic

8

marion, le 10 aoû 2009 à 18:18:55
  • +1

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

Répondre à marion

9

Otomatic, le 10 aoû 2009 à 19:39:18

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);

?>

Répondre à Otomatic

10

marion, le 10 aoû 2009 à 19:46:49

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?

Répondre à marion

11

Otomatic, le 10 aoû 2009 à 19:57:26

Bonsoir,

Négatif. Il vaut mieux aller télécharger le dernier « package » PhpMailer ; mon fichier "fr" est modifié.

Répondre à Otomatic

12

 marion, le 10 aoû 2009 à 20:07:30

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

Répondre à marion
Collection CommentÇaMarche.net