Pregunta

Estoy desarrollando un módulo de noticias en mi sitio web y comenzar con Symfony versión 1.4. Me gustaría enviar mis mensajes de correo a varios destinatarios.

I intentado esto solución simple (con la estrategia de entrega en tiempo real):

$message = $this->getMailer()->compose();
$message->setSubject('My subject');
$message->setTo(array('email1@domain.com', 'email2@domain.com'));
$message->setFrom('expeditor@domain.com', 'Name of expeditor');
$html = $this->getPartial('module/action', array('var'=>$var));
$message->setBody($html, 'text/html');
$number = $this->getMailer()->send($message);

El correo electrónico fue enviado, pero en la lista de destinatarios que se puede ver a todos los usuarios y no sólo le ...

Además, es posible que haya una gran cantidad de destinatarios. Así que tal vez voy a necesitar una lista de espera para evitar un error de tiempo de ejecución máximo?

puede ayudarle a encontrar una solución mejor con el ejemplo si es posible?

Gracias

¿Fue útil?

Solución

En primer lugar, para ocultar la lista de destinatarios debe utilizar la función setBcc () de SwiftMailer en lugar de setTo (). Esto añade las direcciones de correo electrónico como repicients ciega carbono-copia, lo que significa que no será capaz de "ver" entre sí. Además, añadir su propio correo electrónico (por ejemplo noreply@domain.com) como la dirección setTo ().

En segundo lugar, el tiempo de ejecución máximo no será un problema si se suman todos recpients a un solo correo electrónico, ya que sólo se conectará a la subyacente SMTP / anuncio publicitario de una vez, cuando se llama a $ this-> getMailer () -.> Enviar ($ mensaje)

Me obstante aconsejarle a mirar la funcionalidad del carrete, ya que ofrece un rendimiento mucho mejor, y permite un proceso de fondo se encargue del envío por correo electrónico real (que acaba de añadir a una tabla en la base de datos y dejar que esperar a que la tarea programada para enviar el correo). Cambiar el código de arriba para recorrer todos los destinatarios y crear una dirección de correo para cada destinatario y añadirlo a la bobina. De esta manera también se puede utilizar la función setTo () para obtener la correcta dirección a mostrar para el destinatario.

Más información acerca de la funcionalidad carrete en la Con el libro más Symfony .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top