La connexion Swift TransportException n'a pas pu être établie avec l'hôte smtp.gmail.com

Je n'arrive pas à comprendre pourquoi exactement Est-ce qu'il échoue.. c'est exactement l'erreur que j'obtiens:

Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection  
could not be established with host smtp.gmail.com [Connection refused #111]' in 
/home/content/38/6896038/html/test/lib/classes/Swift/Transport/StreamBuffer.php:259 
Stack trace: #0 
/home/content/38/6896038/html/test/lib/classes/Swift/Transport/StreamBuffer.php(64): 
Swift_Transport_StreamBuffer->_establishSocketConnection() #1 /home/content/38/6896038/html/test/lib/classes/Swift/Transport/AbstractSmtpTransport.php(115): Swift_Transport_StreamBuffer->initialize(Array) #2 /home/content/38/6896038/html/test/lib/classes/Swift/Mailer.php(80): Swift_Transport_AbstractSmtpTransport->start() #3 /home/content/38/6896038/html/test/contact.php(55): Swift_Mailer->send(Object(Swift_Message)) #4 {main} thrown in /home/content/38/6896038/html/test/lib/classes/Swift/Transport/StreamBuffer.php on line 259

et le code Im using Est ce que j'ai obtenu du tutoriel et de la lecture sur les exemples ici, il est ici:

require_once 'lib/swift_required.php';

$transport = Swift_MailTransport::newInstance();

// Create the Transport the call setUsername() and setPassword()
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
  ->setUsername('email@googleappsdomain.com')
  ->setPassword('xxx')
  ;

// Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);

$nombre = $_POST['name'];
$apellido = $_POST['apellido'];
$email = $_POST['email'];
$telefono = $_POST['telefono'];
$title = $_POST['jobtitle'];

// Create the message
$message = Swift_Message::newInstance()

  // Give the message a subject
  ->setSubject('Nuevo applicante para: ' . $title)

  // Set the From address with an associative array
  ->setFrom(array('no-reply@topytop.com.pe' => 'no-reply'))

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

  // Give it a body
  ->setBody('<html>
                <head></head>
                <body>
                    <table>
                        <tr>
                            <td>Nombre:</td><td>' . $nombre . ' ' . $apellido .'</td>
                        </tr>
                        <tr>
                            <td>Email:</td><td>' . $email . '</td>
                        </tr>
                        <tr>
                            <td>Telefono:</td><td>'. $telefono .'</td>
                        </tr>
                    </table>
                </body>
            </html>', 'text/html')

  // Optionally add any attachments
  ->attach(Swift_Attachment::fromPath($_FILES["file"]["tmp_name"])->setFilename($_FILES['file']['name']));

// Send the message
$result = $mailer->send($message);

toute aide est grandement appréciée, j'ai fait ma lecture et ma recherche et je ne trouve pas de solution à cela: (

EDIT: apparemment c'est un problème avec gmail, j'ai changé pour un smtp différent et ça a marché.. : S

20
demandé sur Andres 2013-01-06 02:13:07

10 réponses

erreur fatale: l'exception Uncaught 'Swift_TransportException' with message ' Connexion n'a pas pu être établie avec host smtp.gmail.com [Connection refused #111]

la connexion refusée est un message d'erreur très explicite et clair. Cela signifie que la connexion de la socket n'a pas pu être établie parce que l'extrémité distante a activement refusé de se connecter.

Il est très peu probable que Google bloque la connexion.

Il est très probable que votre fournisseur d'hébergement web a des paramètres de pare-feu qui bloquent les connexions sortantes sur le port 465, ou qu'ils bloquent SMTP à Gmail. 465 est le "mauvais" port pour SMTP sécurisé, bien qu'il soit souvent utilisé, et Gmail écoute là. Essayez plutôt le port 587. Si la connexion est toujours refusée, appelez votre hôte et demandez-leur ce qui se passe.

16
répondu Charles 2013-01-06 03:48:43

supprimer à partir de votre config.yml spool: { type: memory }

alors vous devrez ajouter try catch comme ceci

    try{
        $mailer = $this->getMailer();
        $response = $this->getMailer()->send($message);
    }catch(\Swift_TransportException $e){
        $response = $e->getMessage() ;
    }
6
répondu ivan.proskuryakov 2014-02-20 20:17:07

j'ai eu le même problème quand J'utilisais Godaddy web hosting et résolu cela en éditant mon .env fichier,

MAIL_DRIVER=smtp
MAIL_HOST=XXXX.XXXX.in
MAIL_PORT=587
MAIL_USERNAME=dexxxxx
MAIL_PASSWORD=XXXXXXXX
MAIL_ENCRYPTION=tls

où MAIL_HOST est votre nom de domaine de Godaddy, MAIL_USERNAME est votre nom d'utilisateur de Godaddy et MAIL_PASSWORD est votre mot de passe de Godaddy.

j'espère que cela peut vous aider.

4
répondu Amarja 2016-01-04 07:11:14

tcp: 465 a été bloqué. Essayez d'ajouter de nouvelles règles de pare-feu et d'ajouter un port de règles 465. ou cochez 587 et changez le cryptage en tls.

2
répondu Alex John Suarez 2015-12-11 09:50:23

ma solution était de changer:

  'driver' => 'smtp',

 'driver' => 'mail',

Dans app/config/mail

Hope qui aide

2
répondu Samir Daraf 2018-01-26 18:32:43

j'ai eu le même problème pendant un certain temps, de remplacer: smtp.gmail.com173.194.65.108 effectivement travaillé pour moi!

0
répondu Mohammad Anini 2015-01-18 20:22:31

dans mon cas, J'utilisais Laravel 5 et j'avais oublié de changer les globals de courrier dans le .fichier env situé dans le répertoire racine de votre répertoire (ces variables supplantent la configuration de votre courrier)

   MAIL_DRIVER=smtp
   MAIL_HOST=smtp.gmail.com
   MAIL_PORT=465
   MAIL_USERNAME=yourmail@gmail.com
   MAIL_PASSWORD=yourpassword

par défaut, le mailhost est:

   MAIL_HOST=mailtraper.io

j'ai eu la même erreur mais ça a marché pour moi.

0
répondu Jesus Adolfo Rodriguez 2015-04-26 23:49:36

tout d'abord, vérifiez le serveur SMTP gmail . vous devez permettre l'accès à des applications moins sécurisées sans autoriser swift mailer n'est pas possible.pour cette connexion dans votre compte e-mail tout d'abord, puis aller dans les paramètres de confidentialité, puis cliquez sur sign et security puis cliquez sur apps without access et ensuite passer à l'option moins sûr apps puis essayer mailer à nouveau, il fonctionnera alors.

0
répondu krishna Tyagi 2018-04-14 16:02:21

j'ai eu le même problème et j'ai réussi à le corriger en désactivant Mon antivirus AVAST. Ainsi que mon extension AVAST dans le navigateur. L'Antivirus bloque parfois votre application. :) J'espère que cela aide à personne.

-1
répondu Dominic 2017-10-25 11:21:22

je viens d'avoir ce problème et résolu en éditant mail.php sous le dossier de configuration. Généralement lors de l'utilisation de l'hébergement partagé, ils hébergent la société vous permet de créer un e-mail tel que

XXXX@yourdomainname.com

. Alors allez dans les paramètres de courrier électronique sous votre hébergement partagé cpanel et ajoutez un nouveau courrier électronique. Prenez cet email et le mot de passe et mettez-le dans le

e-mail.php.

ça devrait marcher!

-2
répondu spacemonkey 2014-01-10 05:42:08