在wamp Symfony 2中发送电子邮件

在wamp Symfony 2中发送电子邮件,symfony,Symfony,我有一个问题,在symfony的开发产品中,可以使用gmail在本地主机wamp中发送电子邮件。从模板中我得到输入值并在控制器中设置。在congig_dev我有这些 速递员: 运输:gmail 主机:smtp.gmail.com 用户名:'ringleaderr@gmail.com' 密码:'**' 下面我从控制器设置程序-> <?php namespace PsiutekBundle\Controller; use Symfony\Bundle\FrameworkBundle\Con

我有一个问题,在symfony的开发产品中,可以使用gmail在本地主机wamp中发送电子邮件。从模板中我得到输入值并在控制器中设置。在congig_dev我有这些 速递员: 运输:gmail 主机:smtp.gmail.com 用户名:'ringleaderr@gmail.com' 密码:'**'

下面我从控制器设置程序->

<?php

namespace PsiutekBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;


class BasketController extends Controller
{
    public function koszykAction()
    {
        return $this->render('PsiutekBundle:Basket:koszyk.html.twig');
    }

    public function SendMailAction()
    {
        $Request=$this->get('request_stack')->getCurrentRequest();
            if($Request->getMethod()=="POST"){

                $subject=$Request->get("Subject");
                print_r($subject);
                exit;
                $email=$Request->get("email");
                $body=$Request->get("message");
                print_r($body);

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

                $message = \Swift_Message::newInstance('Web Lead')
                        ->setSubject($subject)
                        ->setTo($email)
                        ->setBody($body);
                $result=$mailer->send($message);
            }


        return $this->render('PsiutekBundle:Basket:koszyk.html.twig');
    }

}
要在Symfony内发送电子邮件,您应该使用邮件服务。由于控制器扩展了控制器,所以可以直接从容器中获取它。因此,您的操作应该如下所示:

public function sendMail()
{
    $mailer = $this->get('mailer'); //getting mailer from container

    $message = \Swift_Message::newInstance('Web Lead')
                        ->setSubject($subject)
                        ->setTo($email)
                        ->setBody($body);

    $result=$mailer->send($message);

}
关于这个话题有专门的报道

注:考虑移动发送电子邮件逻辑,实际上是控制器类之外的任何逻辑。
注2:我假设您知道方法中的退出将终止方法执行。

可能重复或不是真正的重复,因为这是Symfony2特定的问题-这些答案不是