Enviar correos desde Symfony con Swift Mailer
Primero se necesario bajar las clases de Swift Mailer. A parte de las cosas que trae como licencia y ejemplos, lo importante es el directorio lib el cual debe ser copiado en el directorio actions del módulo que enviará los correos. Fragmento de action.class.php
<?php
class mailActions extends sfActions
{
public function executeSendmsg (sfWebRequest $request)
{
// datos para cargar el correo
$title = "el titulo del correo";
$email = "kope@dominio.com";
$from = "sender@dominio.com";
$message = "El cuerpo del mensaje";
$ip = $_SERVER["REMOTE_ADDR"];
$servidor = "smtp.dominio.com";
$puerto = 25;
// lib requerida para la clase de envio de correos
require_once 'lib/swift_required.php';
// Crear objetos y configurar el correo
$msg = Swift_Message::newInstance();
$msg->setSubject ($title);
$msg->setFrom (array ($from => 'Nombre del emisor'));
$msg->setTo (array ($email => 'Destinatario'));
$msg->setBody ($email . ' wrote:<br />'.$message.'<br /><br /><br />From ' . $ip, 'text/html');
$transport = Swift_SmtpTransport::newInstance ($servidor, $puerto);
$transport->setUsername ('usuario');
$transport->setPassword ('p4ssw0rd');
$mailer = Swift_Mailer::newInstance ($transport);
// Enviar el mensaje
$numSent = $mailer->send ($msg);
if ($numSent)
{
// método para notificar el éxito
$this->redirect ('contact/thanks');
} else {
// método para notificar el fracazo
$this->redirect ('contact/fail');
}
}
}
Nero (okubi)