Dada una instancia de Mailer
en Rails 3, ¿hay alguna manera de anular el delivery_method
en él?¿Utiliza un método de entrega diferente con ActionMailer solo para un solo correo electrónico?
Quiero enviar ciertos correos electrónicos a través de un transporte de alta prioridad, y otros usan un método más concurrido y de baja prioridad.
Puedo ajustar la configuración en el tiempo de ejecución y volver a cambiarla, pero está plagada de posibles efectos secundarios.
¿Está utilizando un trabajo retrasado o cualquier otro sistema de búsqueda? En caso afirmativo, es muy probable que los esté usando para encascar todos sus correos electrónicos. Puede configurar un EMAIL_ENV (cada uno con diferentes configuraciones de ActionMailer), similar a RAILS_ENV e iniciar diferentes trabajadores con diferentes EMAIL_ENV. En caso de que algún correo se entregue directamente a través de la aplicación, puede tener un valor predeterminado sensato para EMAIL_ENV. – rubish
En realidad, eso es exactamente lo que estoy haciendo. No describí mi problema como realmente existe :) Estoy enviando correos a través de mi propio método de entrega ': en cola' (en Resque, que hace un seguimiento adicional) y luego de Resque tengo que enviarlos a través de SMTP . Resulta que configurar 'método_entrega (método de clase) dentro de una subclase de' ActionMailer :: Base' no tiene realmente un impacto global y hace lo que necesito :) Enviamos otros correos electrónicos a través de nuestra cola Resque, así que no lo hice quiero cambiar todo ese entorno (sé que podría configurar diferentes trabajadores de manera diferente). – d11wtq
Es bueno saber que algo así existe y no tiene un impacto global. – rubish