IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoi mail avec la class phpmailer


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 78
    Points : 71
    Points
    71
    Par défaut Envoi mail avec la class phpmailer
    Bonjour à tous.

    Je me permet de venir poster ici car je suis débutant et je réalise un petit site web pour apprendre le devloppement web mais je suis bloquer depuis deux jours sur un envoi de mail en local sous wamp.

    Je précise que j'ai essayer les méthodes présentées dans différents tutos ou il faut modifier le fichier php.ini. j'y ai remplacé localhost par le smtp de gmail puis par celuis de mon fai mais ca n'a pas fontionné.

    Par la suite j'ai tester la méthode avec fakesendmail ou il faut modifier php.ini et sendmail.ini. j'ai de nouveau essayer avec les deux smtp mais ca n'a rien donner.

    Puis j'ai tenter avec la class phpmailer qui semblait facile à utilisé. j'ai donc telechargé la class et dézipée dans le répertoire de mon site et j'ai utilisé ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    // On va chercher la classe PHPMailer
    require('class.phpmailer.php');
     
    // Création d'un nouvel objet $mail
    $mail = new PHPMailer();
     
    // Encodage
    $mail->CharSet = 'UTF-8';
     
    // Corp de notre email
    $body = "<p>Salut tout le <u>monde</u>,
    voici un mail en <b>HTML</b></p>";
     
    // Expediteur, adresse de retour et destinataire :
    $mail->SetFrom("toto@hotmail.fr", "toto moto");
    $mail->AddReplyTo("toto@hotmail.fr", "toto moto");
    $mail->AddAddress("toto@hotmail.fr", "Destinataire");
     
    // Sujet du mail
    $mail->Subject = "Test d'envoi de mail avec PHPMailer";
     
    // Le message
    $mail->MsgHTML($body);
     
    // Pièce jointe
    //$mail->AddAttachment("images/phpmailer.gif");
     
    // Envoi de l'email
    if ( !$mail>Send() ) {
    	echo "Echec de l'envoi du mail, Erreur: " . $mail->ErrorInfo;
    } else {
    	echo "Message envoyé!";
    }
     
    unset($mail);	
    ?>
    La j'ai eu plusieurs erreurs qui me disaient qu'il manquait des fonctions ( SetFrom() ) ou encor le fichier autolaodphpmailer. j'ai copier coller la fonction manquante dans phpmailer.php et j'ai telechargé autoloadphpmailer

    maintenant j'ai une erreur qui me dit que j'appelle la fonction Send() qui n'existe pas alors qu'elle est bien présente dans mon fichier phpmailer.

    Voila je suis totalement bloqué je pense vraiment avoir chercher partout essayer plein de solution mais la je seche donc si quelqu'un peut m'aider ca serait sympa!

    merci

  2. #2
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( !$mail->Send() ) {
    BakSh0, Modérateur .Net & Web

    Affichez la colorisation syntaxique dans votre code en ajoutant dans votre balise : [CODE=xxx] en remplaçant xxx par le nom du langage.


    N'oubliez pas de consulter les FAQs : .Net / Web et les cours et tutoriels .Net / Web

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    bonjour merci pour ta réponse il s'agissait bien d'une erreur qui était dans le code. j'ai modifié mais j'ai une erreur que j'ai déja eu plusieurs fois :

    Warning: mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. u7sm77088929wif.3 - gsmtp in C:\wamp\www\SitesWeb2\question.php on line 41

  4. #4
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    SMTP server response
    Un problème de configuration de ton SMTP regarde sur : SMTP gmail phpmailer
    BakSh0, Modérateur .Net & Web

    Affichez la colorisation syntaxique dans votre code en ajoutant dans votre balise : [CODE=xxx] en remplaçant xxx par le nom du langage.


    N'oubliez pas de consulter les FAQs : .Net / Web et les cours et tutoriels .Net / Web

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    j'ai regardé sur google et j'ai donc mis dans php.ini :
    [mail function]
    ; For Win32 only.
    ; http://php.net/smtp
    SMTP = smtp.gmail.com
    ; http://php.net/smtp-port
    smtp_port = 465     // j'ai aussi tester 587
    j'ai restart wamp mais toujours rien


    pour info jai tester aussi avec mon adresse de mon fai à savoir bbox mais ca ne fonctionne pas

  6. #6
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    "Send email messages via smtp with phpmailer and gmail" sur google tu à un article test avec ce code

    Quand tu dit : ça ne fonctionne pas = ça n'affiche rien ou tu a une erreur ?
    BakSh0, Modérateur .Net & Web

    Affichez la colorisation syntaxique dans votre code en ajoutant dans votre balise : [CODE=xxx] en remplaçant xxx par le nom du langage.


    N'oubliez pas de consulter les FAQs : .Net / Web et les cours et tutoriels .Net / Web

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    ok je vais étudier ca merci !


    En faite la j'ai une erreur troublante:
    Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\SitesWeb2\question.php on line 41
    je comprend pas puisque j'ai bien modifier le php.ini en passant par l'interface de wamp et j'ai redemarer wamp

  8. #8
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    Citation Envoyé par Pifon Voir le message
    je comprend pas puisque j'ai bien modifier le php.ini en passant par l'interface de wamp et j'ai redemarer wamp
    Oui l'erreur est assez parlante, fait un phpinfo() et regarde le chemin de ton php INI si il correspond a celui que tu a modifié
    BakSh0, Modérateur .Net & Web

    Affichez la colorisation syntaxique dans votre code en ajoutant dans votre balise : [CODE=xxx] en remplaçant xxx par le nom du langage.


    N'oubliez pas de consulter les FAQs : .Net / Web et les cours et tutoriels .Net / Web

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    les précedents jours javais deja consulté le phpinfo() la je vien de vérifier son emplacement et le contenu a bien été modifié!! le localhost a été remplacer par smtp.gmai.com et le port également

  10. #10
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    je ne sais pas si c'est une donnée importante mais l'erreur n'apparait pas dans un encadré blanc comme d'habitude elle est écrite dans le site comme du code html.

  11. #11
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    Mais PHPMailer utilise sa propre gestion SMTP non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $mail->SMTPAuth = true;
    $mail->Host = ''; // ton smtp
    $mail->Port = ''; // ton port
    $mail->Username = ''; // login
    $mail->Password = ''; // pass
    BakSh0, Modérateur .Net & Web

    Affichez la colorisation syntaxique dans votre code en ajoutant dans votre balise : [CODE=xxx] en remplaçant xxx par le nom du langage.


    N'oubliez pas de consulter les FAQs : .Net / Web et les cours et tutoriels .Net / Web

  12. #12
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    effectivement dans la class phpmailer j'ai trouvé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        public $Host = 'localhost';
     
        /**
         * The default SMTP server port.
         * @type integer
         * @TODO Why is this needed when the SMTP class takes care of it?
         */
        public $Port = 25;
    j'ai donc modifier ces deux ligne mais malheureusement j'ai toujours cette erreur me disant que je suis en local host et en port 25 !!??

    j'apprecie grandement votre aide mais je dois m'absenter. je pourssuivrais mes recherche d'ici quelques heurs!

    je tiendrais au courrant si il y a évolution

  13. #13
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    J'ai fais un test apres avoir modifier ces deux ligne de la class mais sans résultat...
    je sais pas si c'est une bonne idee de modifier la class phpmailer donc jai remis comme c'etatit à l'origine.

    Si quelqu'un à une idee

  14. #14
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 78
    Points : 71
    Points
    71
    Par défaut
    Un grand merci à toi BakSho pour ton aide !

    donc j'ai repris le code expliqué dans l'article qui est vraiment super et simple à comprendre.

    J'ai utilisé ce code avec mon adresse gmail et mon php.ini est configuré avec smtp gmail et port 465 !!

    Merci encore !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD17] Envoie de mail avec la class CL_MAPI32 en LINUX
    Par wojc01 dans le forum WinDev
    Réponses: 6
    Dernier message: 03/04/2012, 22h50
  2. Erreur envoi mail avec phpmailer (fichier joint)
    Par rhadien dans le forum Langage
    Réponses: 1
    Dernier message: 02/07/2008, 10h23
  3. [PHPMailer] problème d'envoi de mail avec la fonction phpmailer ()
    Par leclone dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 23/02/2007, 12h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo