/ / Extensión de Playframework / puntos de reemplazo - playframework

Extensión de Playframework / puntos de reemplazo - playframework

Quiero saber cómo PlayFramework es extensible.

El caso que tengo en mente es anular Mailercomponente: en algunos casos podría ser interesante anularlo para probar la aplicación en modo "dev" y también para asegurarse de que la implementación del componente utilizado envíe correo a nuestra dirección de correo de desarrollador (incluso si el correo se envía funcionalmente a un usuario "real" ). También podría utilizarse para "reenviar" el correo a una plataforma (gratuita o con cargo) dedicada al envío de correo (en caso de que el servicio de alojamiento web proporcione funciones de envío de correo limitadas ...).

Déjeme saber si podemos ver cómo podemos anular el componente de Mailer (sin hackear el código fuente de playframework core pero agregando módulos o complementos)

Atentamente, Loïc

Respuestas

2 para la respuesta № 1

los Mail componente es una clase en una biblioteca, en lugar de un complemento. Lo que tendría que hacer para cumplir con su caso de uso sería crear el suyo propio o ampliar el play.libs.Mail clase, y al enviar un mensaje de correo, use su propia clase en lugar de la clase Play enviada.

Puedes ver la clase aquí. https://github.com/playframework/play/blob/master/framework/src/play/libs/Mail.java


0 para la respuesta № 2

Para el desarrollo, Play tiene un correo falso (lo configuras en tu application.conf). El simulador de correo simplemente imprimirá el contenido del correo en el shell, la consola de Eclipse, etc.

Para la producción la forma más fácil es probablementeconfigura tu host para usar algo como SSMTP o Nullmailer, por ejemplo, puedes usar una cuenta de GMail y enviar correos electrónicos con los servidores SMTP de Google si quieres una configuración barata. Lo bueno de usar SSMTP / Nullmailer es que Play no es consciente de configura su correo y tiene la libertad de cambiarlo cuando lo desee sin hacer ningún cambio de código.