envoi de mail ko avec SwiftMailer et smtp externe à mon compte web

Discussion dans 'Hébergements Mutualisés' démarrée par supertoto, Oct 5, 2013.

  1. supertoto

    supertoto New Member

    Bonjour à tous,

    je rencontre un soucis avec l'envoi de mail.
    Lorsque je tente d'envoyer un mail à partir de mon site web avec swiftmailer ça ne fonctionne pas.

    Ce qui m'interpelle c'est que les mails sont bien envoyés en local avec le même paramétrage.
    J'utilise le serveur smtp d'une boite mail externe qui n'a rien à voir avec mon compte PH.

    Pourriez-vous me confirmer qu'il n'y a pas une limitation côté PH ?
    Faut-il activer quelque chose dans le Cpanel ?

    Merci d'avance pour votre retour.
     
  2. pierre_kuhn

    pierre_kuhn New Member

    Bonjour

    On peut voir un screen de la configuration ?
     
  3. supertoto

    supertoto New Member

    Bonjour Pierre,

    merci pour ton retour rapide. J'attendais un mail pour répondre mais apparemment pas d'alerte lorsqu'une réponse postée.

    Pour ce qui est du screenshot, ci-dessous un code qui fonctionne en local mais pas sur PH (en local je suis sur un système wamp) :

    PHP:
    require_once("/pathhebergement/.../swift_required.php");

    // parametrage de connexion
    $transport Swift_SmtpTransport::newInstance('webmail.domaine.com',465,'ssl')->setUsername('monmail@sousdomaine.domaine.fr')->setPassword('motdepassedeconnexion');

    $mailer Swift_Mailer::newInstance($transport);

    // parametrage du message
    $message Swift_Message::newInstance()

      
    // Give the message a subject
      
    ->setSubject('Your subject')

      
    // Set the From address with an associative array
      
    ->setFrom(array('john@doexxxxxxx.com' => 'John Doe'))

      
    // Set the To addresses with an associative array
      
    ->setTo(array('maildest@gmail.com'))

      
    // Give it a body
      
    ->setBody('Here is the message itself')

      
    // And optionally an alternative body
      
    ->addPart('<q>Here is the message itself</q>''text/html');

    // envoi du mail
    if($mailer->send($message) == 1){
        echo 
    'send ok';
    }
    else {
        echo 
    'send error';
    }

    En local j'obtiens la réponse suivante (appel en mode CLI) et je reçois bien le mail :
    Code:
    $ php testMail.php
    send ok
    
    Sur PH, avec la meme configuration (j'ai adapté le require_once vers la lib pour que ce soit ok, mais c'est tout) le système lève une exception :
    PHP:
    Fatal errorUncaught exception 'Swift_TransportException' with message 'Connection could not be established with host monmail@sousdomaine.domaine.fr [Connection timed out #110]' in /pathhebergement/.../Swift/Transport/StreamBuffer.php:259
    Stack trace
    :
    #0 /pathhebergement/.../Swift/Transport/StreamBuffer.php(64): Swift_Transport_StreamBuffer->_establishSocketConnection()
    #1 /pathhebergement/.../Swift/Swift-5.0.1/lib/classes/Swift/Transport/AbstractSmtpTransport.php(115): Swift_Transport_StreamBuffer->initialize(Array)
    #2 /pathhebergement/.../Swift/Swift-5.0.1/lib/classes/Swift/Mailer.php(80): Swift_Transport_AbstractSmtpTransport->start()
    #3 /pathhebergement/.../monscript.php(31): Swift_Mailer->send(Object(Swift_Message))
    #4 {main}
      
    thrown in /pathhebergement/.../Swift/Transport/StreamBuffer.php on line 259
    J'ai testé également avec un compte GMAIL (port 465 et ssl), même soucis (ok en local, ko sur PH).

    Du coup, je me demande si ce n'est pas un blocage PH, car seul l'environnement change (pas les scripts).

    Merci d'avance pour votre retour.
     
    Dernière édition: Oct 12, 2013
  4. pierre_kuhn

    pierre_kuhn New Member

    Bonjour

    Tu peux tester avec le port 26 et pas de ssl ?
     
  5. supertoto

    supertoto New Member

    Bonjour Pierre,
    j'ai testé en suivant tes indications mais, malheureusement ça n'a pas mieux marché.

    Je me suis basé également sur un script en symfony que j'avais fait par le passé et qui fonctionnait avec Swift.
    Par contre je me rappelle que lors de la migration pour arriver chez PH, j'avais dû modifier les paramètres de connexion smtp gmail (hote, user, mot de passe) et mettre ceux qui sont liés à mon compte PH. Ex : mail.domaineprincipalPH.com et user / mdp correspondant

    Du coup, est ce que de ton côté tu as déjà pu envoyer des mails avec une librairie sans utiliser le smtp de ton compte principal et un compte gmail par exemple ?

    En désespoir de cause, j'ai tenté avec une autre librairie d'envoi de mail (PHPmailer) et là ça passe.
    Par contre ça passe avec le compte smtp PH mais pas avec mon autre compte smtp niveau parametre (pas de port ni de securité précisée). Le compte smtp de gmail que j'utilise nécessite peut-être un paramètrage du coup (port + sécu).

    Pour finir, avec Swift n'importe quel compte est en échec, je vais voir pour trouver quel paramètrage par défaut est utilisé avec PHPmailer et je retenterai avec Swift + mon compte PH (dans mon script utilisé dans symfony + swift : c'est le compte PH en ssl et port 465 et ça fonctionne toujours du coup ça reste une interrogation sur ce point, car j'ai pourtant l'impression de reproduire ce paramètrage dans mon exemple plus haut).
     
    Dernière édition: Oct 12, 2013

Partager cette page