我正在實現SwiftmailerBundle,並且一切看起來都很好,但如果發送郵件則不是。我想問問這些郵件存儲在Symfony2裏面的位置。我告訴我的代碼:郵件在Symfony2中的地址?
config.yml
# Swiftmailer Configuration
swiftmailer:
transport: smtp
host: smtp.live.com
username: [email protected] #my account
password: ******** #my password
spool: { type: memory }
TablasController.php
public function registroAction()
{
$peticion = $this->getRequest();
$em = $this->getDoctrine()->getManager();
$user = new User(); //creo el usuario
$datos = new Datos();
$user->setDatos($datos);
$crearusuario = true;
$formulario = $this->createForm(new RegistroUsuarioType(), $user);
if ($peticion->getMethod() == 'POST')
{
$formulario->submit($peticion);
$newuser = $this->get('request')->request->get('username'); //recupero el usuario ingresado
$em = $this->getDoctrine()->getManager();
$todos = $em->getRepository('AtajoBundle:User')->findByUsuario();
foreach($todos as $todo)
{
if($todo == $newuser)
{
$crearusuario = false;
}
}
if ($formulario->isValid() and $crearusuario != false) {
$encoder = $this->get('security.encoder_factory')->getEncoder($user);
$user->setSalt(md5(time()));
$passwordCodificado = $encoder->encodePassword($user->getPassword(), $user->getSalt());
$user->setPassword($passwordCodificado);
$em = $this->getDoctrine()->getManager();
//si todo es correcto, busco el rol 'ROLE_USER' de la tabla ROLE..
//y lo relaciono con el usuario.
$role = $em->getRepository('ProyectoSeguridadBundle:Role')->findByRole('ROLE_USER'); //busco el rol
$user->setRoles($role); //los relaciono
$em->persist($user); //persisto el usuario
$em->flush();
$mail = $this->get('request')->request->get('email');
$empresa = $this->get('request')->request->get('empresa');
$cuit = $this->get('request')->request->get('cuit');
$localidad = $this->get('request')->request->get('localidad');
$calle = $this->get('request')->request->get('calle');
$altura = $this->get('request')->request->get('altura');
$telefono = $this->get('request')->request->get('telefono');
$celular = $this->get('request')->request->get('celular');
$message = \Swift_Message::newInstance()
->setSubject('Bienvenido a LM Lavoc')
->setFrom('[email protected]')
->setTo($mail)
->setBody(
$this->renderView(
'AtajoBundle:Mails:bienvenido.html.twig',
array('name' => $newuser, 'mail' => $mail, 'empresa' => $empresa, 'cuit' => $localidad,
'calle' => $calle, 'altura' => $altura, 'telefono' => $telefono, 'celular' => $celular)
));
$this->get('mailer')->send($message);
return $this->redirect($this->generateUrl('home'));
}
}
這是用戶記錄的功能,一切工作正常,更重要的是,信息存儲在數據庫中。問題不在於是否發送郵件,無論如何,正如我所見。我還想驗證config.yml中的設置是否正確,我使用hotmail,而不是主機和傳輸是否正確。謝謝大家!
這個問題並不明顯,你的問題是什麼。 – zerkms
郵件在symfony中保存的時候,是在什麼時候提交的? – Geronimo
它們存儲在內存中,完全按照您的指定。它的類名是'Swift_MemorySpool' – zerkms