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

Symfony PHP Discussion :

[SwiftMail] Envoi de mail en localhost


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut [SwiftMail] Envoi de mail en localhost
    Bonjour à tous,

    J'ai suivi le tuto, à la lettre, de l'envoi de mail du site Symfony-Project, et j'aurais une petite question à vous poser. Travaillant avec WAMP en local, j'aimerais tester mon envoi de mail, pour voir si ce dernier est fonctionnel. J'aimerais donc savoir comment configurer le fichier php.ini afin de tester l'envoi de mail en local (j'utilise une boite Gmail) ?

    Merci pour vos réponses !

  2. #2
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Bonjour et bienvenu sur developpez.com et plus particulièrement chez les aficionado de symfony.

    Tu as sur cette page la configuration à utiliser dans le fichier factories.yml.

    Attention, je ne sais pas ce que tu entends par "Travaillant avec WAMP en local, j'aimerais tester mon envoi de mail" si tu veux travailler entièrement en local il va te falloir installer un serveur de messagerie sur ton poste, wamp ne sait pas le faire. Il y a un logiciel open source qui le fait, hMailServer, jamais utilisé. Toujours en local, tu peux aussi monter une machine virtuel linux et y installer ton serveur xamp (x pour linux) et un serveur de messagerie.

    Si non, tu peux aussi configurer ton système pour qu'il utilise un serveur de messagerie externe en smtp. Je n'ai jamais configuré avec gmail mais cela devrait fonctionner. Il me semble qu'il faut modifier la configuration dans gmail pour autoriser le pop et le smtp, a vérifier.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse super rapide.

    J'utilise wamp actuellement pour tester localement le code, d'ici quelques jours le projet sera posé sur un FTP tout neuf (je sens d'ailleurs que je vais avoir des problèmes pour ça...), mais pour le moment on reste en local ^^
    Mais le problème c'est qu'en configurant le Factories.yml comme convenu je me retrouve avec une jolie erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    500 | Internal Server Error | Swift_TransportException
    Connection could not be established with host localhost [A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    #10060]
    stack trace
     
        at ()
        in SF_ROOT_DIR\lib\vendor\symfony\lib\vendor\swiftmailer\classes\Swift\Transport\StreamBuffer.php line 235 ...
                    }
                    if (!$this->_stream = fsockopen($host, $this->_params['port'], $errno, $errstr, $timeout))
                    {
                      throw new Swift_TransportException(
                        'Connection could not be established with host ' . $this->_params['host'] .
                        ' [' . $errstr . ' #' . $errno . ']'
                        );
    Et j'avais lu sur le net, qu'on devait configurer le fichier php.ini de wamp pour qu'il puisse envoyer des mails en local.

    EDIT : J'ai regardé le post de dwogsi qui possédait la même erreur que moi, et j'ai rajouté dans mon factories :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          transport:
            class: Swift_NullTransport
    Mais l'erreur est toujours la même =S

  4. #4
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    La class Swift_NullTransport signifie qu'il n'y a pas d'envoie de message, ce qui n'est pas ce que tu souhaites.

    Ce qu'il serait intéressant c'est de voir quel est la configuration mise dans ton factories.yml.

    Si tu utilises un logiciel permettant d'envoyer du smtp directement, "Free IP Tool" permet ce type de test, est-ce que tu arrives à envoyer quelque chose ?

    L'idée est de vérifier les paramètres hors du contexte de symfony swift pour s'assurer qu'ils marchent, avant de remettre en cause le framework.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Avec Free IP Tool, lorsque je test le mail, il me dit :

    Network error: gmail-smtp-in.l.google.com: Connection failed: Socket Error # 10060 Connection timed out.
    Mon Factories est le suivant :
    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
    mailer:
      class: sfMailer
      param:
        logging:           %SF_LOGGING_ENABLED%
        charset:           %SF_CHARSET%
        delivery_strategy: realtime
        transport:
          class: Swift_SmtpTransport
          param:
            host:       smtp.gmail.com
            port:       465
            encryption: ssl
            username:   pseudo
            password:   motdepasse
     
    test:
      mailer:
        param:
          delivery_strategy: none
     
    dev:
      mailer:
        param:
          delivery_strategy: none

  6. #6
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Tant que tu n'arriveras pas à envoyer avec un outil dans ce genre, il ne sert à rien de tester en local.

    As-tu activé le smtp et pop chez gmail ?
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Ouep, c'est activé ^^

    Mais le logiciel ne marche pour aucune de mes adresses (WLM, adresse de mon IUT).

  8. #8
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Les paramètres ne doivent pas être correcte. Il faut que cela fonctionne hors symfony d'abord, après, on verra pour le faire fonctionner dans symfony, mais je pense qu'une fois les paramètres validés, il ne devrait pas y avoir de problèmes.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    En ce moment je test directement depuis mon IUT, et je sais que certain port sont limités (impossible de ce connecter via FTP par exemple), le problème vient surement de là.

    Je vais tester à midi pour voir si Free IP Tool marche. Je te tiens au courant !
    Merci pour ton aide

  10. #10
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Je serais malgré tous surpris qu'ils bloquent les ports smtp sortant. Quoique, pour éviter qu'un spameur ne sévisse en local, ce n'est pas si impossible que cela.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Bon, ba apparemment ca vient de mon PC. Même depuis chez moi, il m'indique une erreur...

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    Noy, à l'IUT, tu peux te connecter en FTP sans problème en passant via le VPN.
    Après je n'ai pas encore essayé l'envoi de mail depuis l'IUT donc je ne peux pas te dire, mais je sais qu'au moins 2 autres personnes n'ont pas réussi. Donc possible que ca vienne de l'IUT. J'essayerais dès que j'aurais un peu de temps.

    PS : oOZarkOo = Tim

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Yop Tim ^^
    Ouais via le VPN on peut effectivement, et via FrozenWay c'est possible aussi.
    Mais c'est terrible que personne n'y arrive quand même XD

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 91
    Points : 51
    Points
    51
    Par défaut
    Je reste assez étonné qu'il faille un serveur de mail sous wamp.
    J'avais écris un programme sous flash en AS2, qui envoyais des mails et le script était écrit en php qui recevait le texte à envoyer.
    J'utilisais PHPMailer sous EasyPHP à l'époque et cela fonctionnait sans le moindre soucis.
    J'ai juste installé PHPMailer et un "require" de la classe dans mon source, ctout

    Bizarre qu'avec SwiftMailer, ce soit si compliqué, avec PHPMailer, en 5 minutes c'est fonctionnel... je reste perplexe quand même

    Sinon voilà un truc que j'ai trouvé sur le net et qui devrait fonctionner (teste avec ton email perso)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $transport = Swift_SmtpTransport::newInstance('smtp.monFAI.net', 25)
        ->setUsername('username')
        ->setPassword('password');
    $mailer = Swift_Mailer::newInstance($transport);
    $message = Swift_Message::newInstance('Sujet du mail')
        ->setFrom('send@ft.com')
        ->setTo('monemail@perso.fr')
        ->setBody('et le message....');
    $numSent = $mailer->send($message);
    et dans le factory.yml
    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
     
      mailer:
        class: sfMailer
        param:
          logging:           %SF_LOGGING_ENABLED%
          charset:           %SF_CHARSET%
          delivery_strategy: realtime
          transport:
            class: Swift_SmtpTransport
            param:
              host:       smtp.monFAI.net
              port:       25
              encryption: ~
              username:   ton_nom_du_compte
              password:   ton_mot_de_passe
    Perso, ça marche sous wamp et sans server de mail

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 212
    Points : 108
    Points
    108
    Par défaut
    As tu fais un test pour t' assurer que le port 465 sortant était bien ouvert sur ta machine ?

    telnet smtp.google.com 465



    Si tu n' as pas réponse, le port est bloqué. Regarde dans ce cas ton firewall sur ta machine et/ou sur ta box.

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 91
    Points : 51
    Points
    51
    Par défaut
    Si tu n'as toujours pas résolu ton problème, regarde dans tool bar php, tout à droite tu dois avoir une icone représentant une enveloppe, clique dessus et regarde si tes paramètres sont corrects.
    En l'occurence delivery_strategy qui ne doit pas être à none.

Discussions similaires

  1. Envoi de mails depuis localhost avec Postfix
    Par dré kam dans le forum Administration système
    Réponses: 2
    Dernier message: 20/07/2012, 10h28
  2. [PHPMailer]-Envoi Mail en Localhost?
    Par jcdus2024 dans le forum Langage
    Réponses: 7
    Dernier message: 27/01/2012, 18h02
  3. [1.x] [SwiftMail] envoie mail symfony
    Par lepopol dans le forum Symfony
    Réponses: 3
    Dernier message: 12/01/2011, 16h15
  4. PHPMailer n'envoi pas mes mails depuis localhost
    Par andry.aime dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/11/2009, 12h40
  5. [Configuration] envoi de mail en localhost
    Par pipeauflute dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 04/06/2007, 21h36

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