setreturnpath new installing url symfony permalinks swiftmailer

url - new - symfony 4 swiftmailer



¿Cómo puedo obtener la URL completa para incluir en el boletín enviado con Symfony2? (3)

Voy a utilizar Symfony2 para enviar periódicamente un boletín a muchos usuarios. Debo incluir un enlace permanente al correo electrónico HTML para aquellos que tengan problemas al leerlos con un cliente de correo electrónico.

De todos modos, asumiendo que estoy enviando el boletín de esta manera:

// Assume success and create a new SentMessage to store and get permalink $sent = new SentMessage(); $sent->setRecipients(/* ... */); $sent->setSubject(/* ... */); $sent->setContent(/* ... */); // Get the slug for the new sent message $slug = $sent->getSlug(); // Like latest-product-offers-546343 // Construct the full URL // e.g. http://mydomain.com/newsletter/view/latest-product-offers-546343 // Actually send a new email $mailer->send(/* .. */);

¿Cómo puedo construir la URL completa (domain + controller + action + slug) para incluirla en un nuevo correo electrónico?


Actualiza con Symfony 3:

use Symfony/Component/Routing/Generator/UrlGeneratorInterface; $this->generateUrl(''blog_show'', array(''slug'' => ''my-blog-post''), UrlGeneratorInterface::ABSOLUTE_URL); // http://www.example.com/blog/my-blog-post


Con el router , por supuesto.

De forma predeterminada, el enrutador generará direcciones URL relativas (por ejemplo, /blog ). Para generar una URL absoluta, simplemente pase el tercer argumento del método generate() :

Quizás tu código se vea así

Symfony2

$url = $router->generate( ''slug_route_name'', array(''slug'' => $sent->getSlug()), true // This guy right here );

Symfony3

use Symfony/Component/Routing/Generator/UrlGeneratorInterface; $url = $router->generate( ''slug_route_name'', array(''slug'' => $sent->getSlug()), UrlGeneratorInterface::ABSOLUTE_URL // This guy right here );


RAMITA

Si esto está dentro de una plantilla de ramita, use url(''your route'') lugar de path(''your route'') para obtener la URL absoluta.