在wamp Symfony 2中发送电子邮件
我有一个问题,在symfony的开发产品中,可以使用gmail在本地主机wamp中发送电子邮件。从模板中我得到输入值并在控制器中设置。在congig_dev我有这些 速递员: 运输:gmail 主机:smtp.gmail.com 用户名:'ringleaderr@gmail.com' 密码:'**' 下面我从控制器设置程序->在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
<?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特定的问题-这些答案不是