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 :

envoyer un mail en local avec mamp


Sujet :

Langage PHP

  1. #21
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu as des soucis avec mail(), il existe la classe PHPMailer qui est plus complète.

  2. #22
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    en fait, ce n'est pas que j'ai des soucis avec mail() mais que je n'arrive pas a envoyer en local avec mamp. Donc, je ne sais s cela viens de ma configuration, de mail(), de php, de mamp....., et je ne sais pas comment arriver a trouver d'ou viens le problème. mais je vais regarder phpmailer

  3. #23
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    même avec phpmailer, j'obtiens :
    Erreur : Could not instantiate mail function.
    A croire que je ne peux vraiment pas envoyer en local de mon mac.

  4. #24
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je pense que tu n'as pas suivi ce qu'on t'a indiqué pour ton php.ini

  5. #25
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    voilà le php.ini (/Applications/MAMP/conf/php5.6.10/php.ini):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    SMTP = smtp.orange.fr
    smtp_server = smtp.orange.fr
    smtp_port = 25
    sendmail_from =monMailPerso@orange.fr@orange.fr
    j'ai fait pareil avec le php(/Applications/MAMP/conf/php7.0.0/php.ini) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    SMTP = smtp.orange.fr
    smtp_server = smtp.orange.fr
    smtp_port = 25
    sendmail_from = monMailPerso@orange.fr
    qu'est-ce que je n'ai pas fait correctement?

  6. #26
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pourquoi tout est en double dans ton premier fichier ?

    Déjà regarde dans ton phpinfo() quel est le fichier php.ini utilisé.

    Ensuite tu dois seulement avoir besoin de SMTP et smtp_port, commente tout le reste
    http://php.net/manual/fr/mail.config....sendmail-from

    Et redémarre ton serveur.

    Au pire, remet un php.ini neuf.

  7. #27
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    donc, j'ai bien commenté ceux qui ne servent pas dans les 2 php.ini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    SMTP = smtp.orange.fr
    ;smtp_server = smtp.orange.fr
    smtp_port = 25
    vérifié la version de php (au pire avec mamp, on peux passer de 5.6.10 a 7 facilement.)et j'ai relancé les serveurs (2 fois plutot qu'une même si cela ne sert a rien).

    même résultats autant avec phpmailer que sans

  8. #28
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le port smtp orange c'est 465
    http://assistance.orange.fr/mobile-t...-48856#onglet2
    (ça ce n'est pas une question PHP, c'est plutôt toi qui devrait contrôler/chercher ça).

    Montre nous ton code PHPMailer sinon.

  9. #29
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    je me suis pas cassé la tête, j'ai repris le code indiqué ici :http://www.connecty.fr/tutoriels/env...-phpmailer.php, pour le mettre dans une page test.
    Ce qui donne :
    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
     
    <?php
     
    require('phpmailer/class.phpmailer.php'); 
     
    $mail = new PHPMailer();
    $mail->Host = 'smtp.orange.fr';
    $mail->SMTPAuth   = false;
    $mail->Port = 25; // Par défaut
     
    // Expéditeur
    $mail->SetFrom('uneDeMesAdresse@orange.fr  ', 'Nom Prénom');
    // Destinataire
    $mail->AddAddress('uneAutreAdresse@orange.fr', 'Nom Prénom');
    // Objet
    $mail->Subject = 'Objet du message';
     
    // Votre message
    $mail->MsgHTML('Contenu du message en HTML');
     
    // Envoi du mail avec gestion des erreurs
    if(!$mail->Send()) {
      echo 'Erreur : ' . $mail->ErrorInfo;
    } else {
      echo 'Message envoyé !';
    } 
     
    ?>
    et le résultat : Erreur : Could not instantiate mail function.
    ah, et j'ai changé le port. (j'avais pourtant vu dans un post plus heaut que c'était 25, mais comme tu dit, j'aurais du vérifier).

  10. #30
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ajoute :
    pour ne plus passer par la fonction mail de PHP.

  11. #31
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    rien a faire.
    j'ai rajouter ta ligne sous l'envoie du message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $mail->MsgHTML('Contenu du message en HTML');
    $mail->IsSMTP();
    j'ai bien remis le port 465 que j'avais zappé avant le premier test.
    et résultat rien : page blanche alors qu'il devrait y avoir soit l'erreur soit message envoyé.
    du coup, j'ai testé en rajoutant un echo 'test' que j'ai placé avant le test d’envoi du mail -> il apparait
    et après le test -> page blanche. c'est donc bien l'envoie de mail qui pose problème, que ce soit par phpmailer ou mail().

    j'ai testé aussi avec le port 25 (au cas ou), et en remettant mamp en php 5.6.10, même résultats.

  12. #32
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'as vraiment aucune erreur des tes fichiers de log ?

  13. #33
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    non, j'ai ouvert la console pour essayer de voir si une erreur remontait, mais rien, à moins que je ne sache pas où regarder, ou qu'il y ai un autre moyens de voir les erreurs.

  14. #34
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu parles de la console du navigateur, ce n'est pas ça.
    Tu dois avoir un fichier de log. Son emplacement est indiqué dans le phpinfo() encore une fois.

  15. #35
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    oki, j'ai regardé le error_log de mamp :
    [14-May-2016 14:21:54 Europe/Berlin] PHP Fatal error: Uncaught Error: Class 'SMTP' not found in /Users/xxxxxxxxxxxx/Sites/eshop/PHPMailer/class.phpmailer.php:1439
    Stack trace:
    #0 /Users/xxxxxxxxxxxx/Sites/eshop/PHPMailer/class.phpmailer.php(1522): PHPMailer->getSMTPInstance()
    #1 /Users/xxxxxxxxxxxx/Sites/eshop/PHPMailer/class.phpmailer.php(1459): PHPMailer->smtpConnect(Array)
    #2 /Users/xxxxxxxxxxxx/Sites/eshop/PHPMailer/class.phpmailer.php(1296): PHPMailer->smtpSend('Date: Sat, 14 M...', 'This is a multi...')
    #3 /Users/xxxxxxxxxxxx/Sites/eshop/PHPMailer/class.phpmailer.php(1176): PHPMailer->postSend()
    #4 /Users/xxxxxxxxxxxx/Sites/eshop/test.php(26): PHPMailer->send()
    #5 {main}
    thrown in /Users/xxxxxxxxxxxx/Sites/eshop/PHPMailer/class.phpmailer.php on line 1439
    apparement, il ne trouve pas la class SMTP. j'avoue que je suis un peu dépassé.

    a tout hasard, je suis allé voir la ligne cité dans class.phpmailer.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     public function getSMTPInstance()
        {
            if (!is_object($this->smtp)) {
                $this->smtp = new SMTP;
            }
            return $this->smtp;
        }
    mais cela ne m'apporte pas plus.

    J'ai même été changé le
    $mail->IsSMTP(); que tu m'a fait mettre par
    $mail->isSMTP(); parceuqe la fonction étée écrite ainsi dans le class.phpmailer.php, mais rien, rien rien, ou plutot toujours le même class SMTP not found in.....

  16. #36
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut charger l'autoloader et pas class.phpmailer.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require '../PHPMailerAutoload.php';
    Suis bien les exemples de la doc :
    https://github.com/PHPMailer/PHPMail...ples/smtp.phps

    Et tu devrais configurer ton serveur local pour qu'il affiche les erreurs.

  17. #37
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2013
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    bon, apparemment, le test est passé, me rest plus qu'a adapté cela à mon cas. je reviendrais pour dire si tout s'est bien passé.

    Merci encore sabotage

Discussions similaires

  1. Envoi mail en local avec wamp
    Par sassou409 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 15/12/2011, 18h18
  2. [Mail] Envoyer des mails en local
    Par lucky31 dans le forum Langage
    Réponses: 21
    Dernier message: 17/06/2008, 12h08
  3. Envoyer un mail en VBA avec Words 2003
    Par vijeo dans le forum VBA Word
    Réponses: 9
    Dernier message: 13/03/2008, 15h51
  4. Comment envoyer un mail depuis Word avec un fichier attaché
    Par Heureux-oli dans le forum Contribuez
    Réponses: 0
    Dernier message: 25/08/2007, 11h47
  5. [Wamp] mail en local avec SMTP de cegetel?
    Par Death83 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 02/03/2006, 21h34

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