无法使用SwiftMailer和Symfony 2发送电子邮件

时间:2016-02-26 13:36:26

标签: php symfony email swiftmailer

我尝试使用SwiftMailer和Symfony2发送电子邮件。

在我遇到$('.options.selected').parent().prev('.line'); $('.options.selected').parent().next('.line'); 问题之前,但我知道,我没有任何错误,但邮件仍未发送。

这是我的 config.yml

Can't connect to smtp.gmail.com

config_test.yml

swiftmailer:
    transport: mail
    encryption: ssl
    host: smtp.gmail.com
    port: 465
    auth_mode: login
    username:   myUsername@gmail.com
    password:   myPassword

要发送的控制器

swiftmailer:
    disable_delivery: false

我尝试了很多我在互联网上找到的修复,但没有修复它:/

我尝试使用 Wamp,Locally

发送它

编辑:

我已经将传输设置为SMTP,现在,当我使用端口443时,我有一个超时,如果我使用465,我只是得到"无法连接"试。

编辑2:

我尝试使用"运输:gmail",但仍然无法连接"信息 这是我的配置:

$message = \Swift_Message::newInstance(null)
   ->setSubject('Test')
   ->setFrom('test@gmail.com')
   ->setTo('test@gmail.com')
   ->setBody('Test test test !!');

$this->get('mailer')->send($message);

2 个答案:

答案 0 :(得分:4)

使用Gmail发送邮件时,您可以使用archiveDir

如果您需要更多信息: http://symfony.com/doc/current/cookbook/email/gmail.html

如果配置良好且无法正常工作,请检查您的安全环境(防火墙,......)

答案 1 :(得分:0)

在App / config / config.yml中

写下这个:

swiftmailer:
transport: smtp
encryption: ssl     
auth_mode:  login   
host: "%mailer_host%"
username:  "%mailer_user%"
password:  "%mailer_password%"
spool:     { type: memory }
App / config / parameters.yml中

 mailer_transport: gmail
    mailer_host: smtp.gmail.com
    mailer_user: yourmail@gmail.com
    mailer_password: your_mail_password

在您的控制器中:

public function sendMailAction() { 

      $Request= $this ->getRequest();

      if($Request ->getMethod()== "POST"){

          $name= $Request -> get("name");
          $email = $Request -> get("email");
          $sujet = $Request -> get("subject");
          $message = $Request -> get("message");

          $mailer = $this->container->get('mailer');
          $transport = \Swift_SmtpTransport::newInstance('smtp.gmail.com',465,'ssl')
                  ->setUsername('******')
                  ->setPassword('******');

           $sms = \Swift_Message::newInstance('Test')
                   ->setSubject($sujet)
                   ->setFrom('your_mail_here@gmail.com')
                   ->setTo($email)
                   ->setBody($message);

$spool = $mailer->getTransport()->getSpool();
$transport = $this->get('swiftmailer.transport.real');

$spool->flushQueue($transport);
           $this->get('mailer')->send($sms);

      }
      return $this->render('SwiftMailSwiftMailBundle:Mail:contact.html.twig');   

      }

如果你愿意的话,让我发给你完整的项目。好运