2016-04-14 5 views
3

Ich bin neu in Symfony3, und ich muss eine E-Mail senden (mit Google Mail). Ich arbeite an localhost. Ich habe meine config_dev.ymlSymfony3 und gmail auf localhost

swiftmailer: 
    transport: gmail 
    host:  smtp.gmail.com 
    port:  465 
    username: [email protected] 
    password: mypassword 

und parameters.yml konfiguriert mit

mailer_user: [email protected] 
mailer_password: password 

-Controller

$message = \Swift_Message::newInstance() 
      ->setSubject('Hello Email') 
      ->setFrom('[email protected]') 
      ->setTo($email) 
      ->setBody(
       'You have been registered in MedicalGuide system as a doctor. Username: '.$user->getUsername().' Password: '. $user->getPassword() 
      ) 
     ; 
     $this->get('mailer')->send($message); 

Aber es ist keine E-Mails senden. Kann mir bitte jemand helfen? Vielleicht habe ich etwas vergessen oder etwas falsch gemacht. Können E-Mails von localhost gesendet werden?

UPDATE logs

Exception occurred while flushing email queue: Connection could not be established with host 127.0.0.1 
+0

nach http://symfony.com/doc/current/cookbook/email/gmail.html sollten Sie nicht Host oder Port einstellen müssen, nur gmail transportieren – user3802077

Antwort

0

Die Fehlermeldung Sie bekommen:

"Verbindung nicht mit Host 127.0.0.1 hergestellt werden konnte"

zeigt an, dass Swiftmailer scheint zu denken, dass es localhost (127.0.0.1) verwenden sollte, um E-mail zu senden.

Ihr Problem scheint zu sein, dass die von Ihnen angegebene Konfiguration nicht von der Swiftmailer-Komponente eingelesen wird. Meine Vermutung ist, dass die Umgebung nicht richtig eingestellt ist, so dass Sie denken Sie sind in dev aber stattdessen kann Symfony in einer anderen Umgebung ausgeführt werden.

Sie können dies testen, indem Sie die Swiftmailer-Konfiguration in der Hauptkonfigurationsdatei setzen und wenn das funktioniert, folgen Sie den Symfony configuration guide, um sicherzustellen, dass Ihre Entwickler-Umgebung Eigenschaft einrichten und dass Sie die Anwendung in dieser Umgebung laufen lassen (dh mit http://localhost/app_dev.php..)

Eine weitere nützliche Quelle: How to Organize Configuration Files