A menudo pruebo mi aplicación con una copia de una base de datos en vivo, pero tengo que tener cuidado de no realizar ninguna acción que provoque que se envíe un correo electrónico a un usuario. Me encantaría tener una forma de configurar la primavera para que cuando esté en el modo de desarrollo o prueba, no se envíe ningún correo electrónico a los usuarios reales. Idealmente, me gustaría que todos los correos electrónicos que deberían haber ido al usuario vayan a un buzón que pueda examinar. Y no quiero cambiar ningún código para que esto suceda, solo archivos de configuración xml.Cambiar la configuración de correo electrónico de Spring según el modo dev/test/prod
Ya estoy usando PropertyPlaceholderConfigurer y estoy leyendo en diferentes archivos de propiedades en función de si estoy ejecutando en producción, prueba o modos de desarrollo. Configuro un JavaMailSenderImpl basado en valores en el archivo de propiedades. También estoy usando SimpleMailMessage para crear una plantilla con la dirección De.
Idealmente, habría una manera de reescribir a la dirección TO de todos los correos electrónicos salientes a una cuenta de prueba si estoy ejecutando en modo dev o prueba.
Mi primer pensamiento fue utilizar un servidor SMTP diferente para el desarrollo y la prueba. Pero también tendría que administrar otro servidor de correo y debería personalizarlo para que no envíe correo a ninguna parte, sino que lo envíe a un solo buzón. No quiero agregar más requisitos de administración si es posible.
Quizás esa sea la mejor solución, pero parece que debería haber una forma de interceptar los correos electrónicos y cambiar el destinatario.
¿Alguien ha solucionado este problema anteriormente? ¿Qué soluciones se te ocurrieron?
¿cómo estás ejecutando tus pruebas? – Bozho
bozho - por el momento, no tengo ninguna prueba unitaria que involucre correo electrónico. el sistema solo envía correos electrónicos cuando se crea una nueva cuenta. pero ahora necesito expandir eso para enviar avisos sobre muchas acciones diferentes. y no quiero que los miembros reciban estos correos electrónicos cuando los probadores usan el servidor de prueba o los desarrolladores se ejecutan localmente. – Tauren
Compruebe mi respuesta http: // stackoverflow.com/questions/8599791/a-simple-local-smtp-server/22043597 # 22043597 –