Compatibilizar ar_mailer con exception_notifier
Exception Notifier es un plugin muy recomendable para recibir notificaciones por email de los errores de tus aplicaciones rails en producción, con todo detalle de lo que ocurrió. Lo considero imprescindible en todas mis aplicaciones. Amaia tiene un excelente tutorial sobre Exception Notifier.
Por otro lado, si tu aplicación maneja mucho envío de emails, es recomendable usar algún sistema de colas para el envío de correos. Ar_mailer es una gema genial para esto, que permite delegar el envío de correos a un demonio de manera que los mails se apuntan en una tabla y el demonio los va leyendo de ésta para enviarlos en background.
Peeeeerooo… resulta que tras instalar ar_mailer, dejé de recibir las notificaciones de exception_notifier. Out-of-the-box ambos sistemas son incompatibles, con lo que en caso de ocurrir una excepción en la aplicación, cuando exception_notifier intenta enviar un email, no se entiende bien con ar_mailer y no se llega a producir el envío, dando un error 500.
Afortunadamente, googleando un poco encontré la solución. Basta con añadir esta línea al fichero config/initializers/exception_notifier.rb para que no no se use ARMailer para el envío de notificaciones sino que lo haga directamente (en lugar de a través de activerecord como se hace con ARMailer). En mi caso uso SMTP, pero también podría valer :sendmail.
ExceptionNotifier.delivery_method = :smtp



Leave a Reply