¿Hay alguna joya para hacer esto, y si no, cuál es el mejor enfoque? Supongo que almacenaré los correos electrónicos en una base de datos de boletines, y querría un formulario que envíe correos electrónicos a todos a la vez. ¡Gracias!cuál es la mejor manera de hacer un boletín informativo en rails3
Respuesta
No hay joya para esto que yo sepa.
En realidad, debido a problemas de procesamiento, la mejor manera sería utilizar un proveedor externo de servicios de correo electrónico masivo a través de la API del proveedor.
Sin embargo, construir su propio sistema de boletines informativos no es diferente de construir su MVC regular. Solo se agregan los anuncios y las vistas de correo.
(1) Entonces crea un modelo que se ocupa de los datos de registro (: nombre,: correo electrónico,: etc ...) y el modelo que trata del boletín en sí.
(2) Controlador que se ocupa de él (CRUD) + (: enviar). El envío lleva a cada destinatario, envía los datos al programa de correo que crea el correo electrónico y luego lo envía.
def send
@newsletter = Newsletter.find(:params['id'])
@recipients = Recipient.all
@recipients.each do |recipient|
Newsletter.newsletter_email(recipient, @newsletter).deliver
end
end
(3) Mailer construye un correo electrónico, hace algunos cambios en cada correo electrónico si usted quiere hacer algo por el estilo y lo devuelve al controlador de acción envía para su entrega.
class Newsletter < ActionMailer::Base
default :from => "[email protected]", :content_type => "multipart/mixed"
def newsletter_email(recipient, newsletter)
# these are instance variables for newsletter view
@newsletter = newsletter
@recipient = recipient
mail(:to => recipient.email, :subject => newsletter.subject)
end
end
(4) Ofc, necesita vistas de correo que son como visitas regulares. Bien en varias partes existe:
- newsletter_email.html.erb (o haml)
newsletter_email.txt.erb
Cuando se desea enviar HTML y texto sólo mensajes de correo electrónico. Las variables de instancia se definen en el correo de ofc.
Y ... eso es todo. Bueno, podría usar el trabajo retrasado para enviarlos, ya que enviar más de varios cientos de correos electrónicos puede llevar un tiempo. Varias veces ms n puede ser mucho tiempo.
Diviértete.
Compruebe el maktoub gem hay un blog post sobre él.
No es una joya que yo sepa también y se basa en la respuesta de @ Krule, aquí hay un screencast de la configuración de los anuncios publicitarios en Rails.
How to create, preview and send email from your rails app
que estaba buscando algo similar cuando me encontré con esto. Creo que con un poco de personalización, también se puede usar fácilmente para crear correos electrónicos de newsletter.
¡Ahorre dinero! Gastar en otro lugar
- 1. cómo enviar imágenes en el boletín informativo?
- 2. Directrices para el servicio de boletín informativo por correo electrónico
- 3. ¿Cuál es la mejor manera de hacer bucles en JavaScript
- 4. ¿Cuál es el mejor gerente de boletín PHP abierto?
- 5. ¿Cuál es la mejor manera de hacer GUI en Clojure?
- 6. ¿Cuál es la mejor manera de hacer respaldos automáticos?
- 7. ¿Cuál es la mejor manera de implementar un enlace de cancelación de suscripción para su boletín de noticias?
- 8. ¿Cuál es la mejor manera de probar un RedirectToAction?
- 9. ¿Cuál es la mejor manera de hacer un reemplazo de archivos atómicos multiplataforma en Perl?
- 10. ¿Cuál es la mejor manera de hacer un controlador de descarga en Spring MVC?
- 11. ¿Cuál es la mejor manera de probar un procedimiento almacenado?
- 12. ¿Cuál es la mejor manera de hacer que un hilo indique otro hilo en .NET?
- 13. ¿Cuál es la mejor manera de hacer una subcadena en un archivo por lotes?
- 14. ¿Cuál es la mejor manera de barajar un NSMutableArray?
- 15. ¿Cuál es la mejor manera de inicializar un frijol?
- 16. ¿Cuál es la mejor manera de implementar un "temporizador"?
- 17. ¿Cuál es la mejor manera de determinar un bucle invariante?
- 18. ¿Cuál es la mejor manera de vaciar un directorio?
- 19. ¿Cuál es la mejor manera de migrar datos en django
- 20. Cuál es la mejor manera de paginar resultados en php
- 21. ¿Cuál es la mejor manera de escribir comentarios en C?
- 22. Cuál es la mejor manera de actualizar entidades en nhibernate
- 23. ¿Cuál es la mejor manera de hacer la validación de entrada en C++ con cin?
- 24. ¿Cuál es la mejor manera de hacer que un sitio web de desplazamiento lateral cargue rápidamente?
- 25. ¿Cuál es la mejor manera de dibujar en la consola?
- 26. ¿Cuál es la mejor manera de implementar params en JavaScript?
- 27. ¿Cuál es la mejor manera de comparar programas en Windows?
- 28. ¿Cuál es la mejor manera de mostrar HTML en Flex?
- 29. ¿Cuál es la mejor manera de hacer que un servidor node.js "hable" a otro?
- 30. ¿Cuál es la mejor manera de hacer un sitio amigable para dispositivos móviles?
encontró una alternativa al bucle: : to => Admin.all.map (&: email) .join (",") – montrealmike
Bueno, si está enviando un correo electrónico a todos los administradores de su sistema que está perfectamente bien. Eso colocaría a todos los destinatarios en el campo "a". No es una buena idea que el boletín de noticias lo haga, excepto si prefiere compartir los datos privados de su suscriptor (direcciones de correo electrónico) con el resto del mundo. : bcc en lugar de: para que funcione bien si no está personalizando correos electrónicos. – Krule