在Symfony2的生产项目中使用Swiftmailer时出错

时间:2014-10-04 13:48:39

标签: php symfony smtp production-environment swiftmailer

我的网站正在制作中,使用Hostinger,并且使用相同的参数和配置我无法在生产中发送电子邮件,但我可以处于开发模式。我已经在其他问题中看到的其他设置更改了参数和配置文件,但没有成功。无论如何,我得到的错误如下:

  

无法与主机smtp.gmail.com建立连接   [连接超时#110] 500内部服务器错误 -   Swift_TransportException

我的parameters.yml文件:

parameters:
    ...
    mailer_transport: gmail
    mailer_encryption: ssl
    mailer_auth_mode: login
    mailer_host: smtp.gmail.com
    mailer_user: xxxxx@gmail.com
    mailer_password: xxxx
    ...

我的config.yml文件:

# Swiftmailer Configuration
swiftmailer:
    transport: gmail
    host:      smtp.gmail.com
    username:  xxxxx@gmail.com
    password:  xxxx

我的控制器文件:

public function kontaktuaAction()
{
    $kontaktua = new Kontaktua();
    $form = $this->createForm(new KontaktuaType(), $kontaktua);

    $request = $this->getRequest();
    if ($request->getMethod() == 'POST') {
        $form->bind($request);

        if ($form->isValid()) {

            $message = \Swift_Message::newInstance()
                ->setSubject($kontaktua->getGaia())
                ->setTo('xxxxx@gmail.com')
                ->setFrom($kontaktua->getEmaila())
                ->setBody($kontaktua->getIzena().'(e)k, email helbidea '.$kontaktua->getEmaila().' duena hurrengo mezu hau'.
                     ' bidali dizu: '.$kontaktua->getMezua());
            $this->get('mailer')->send($message);

            return $this->redirect($this->generateUrl('kontaktua'));
        }
    }

    return $this->render('TaldeaBundle:Default:kontaktua.html.twig', array(
        'form' => $form->createView()
    ));
}

1 个答案:

答案 0 :(得分:0)

以下设置适用于我:

config.yml under swiftmailer
     encryption: ssl
     auth_mode:  login  

parameters.yml:
  mailer_transport: smtp
  mailer_host: smtp.gmail.com
  mailer_user: #gmail_user_name
  mailer_password: #gmail_password