Antonio-112 / nestjs-mailer

Servicio de envío de correo electrónico construida con NestJS, proporcionando una API RESTful altamente escalable y segura, ideal para implementar el envío de correo electrónico en cualquier aplicación.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NestJS Email Api

NestJS Logo

Este proyecto es una plantilla para un microservicio de envío de correo electrónico construido con NestJS. Utiliza el módulo @nestjs-modules/mailer para el envío de correos electrónicos y ofrece una API RESTful para interactuar con el servicio.

Tabla de contenido

Instalación

Antes de iniciar el proyecto, debes instalar las dependencias del proyecto. Ejecuta el siguiente comando en la raíz del proyecto:

npm install

Configuración

Este proyecto utiliza el paquete NestJS Config para manejar las configuraciones a través de variables de entorno. Necesitarás proporcionar tus propias credenciales SMTP en un archivo .env. Aquí tienes un ejemplo de las variables que necesitarás:

MAILER_HOST=smtp.example.com
MAILER_PORT=587
MAILER_SECURE=false
MAILER_USER=test@example.com
MAILER_PASSWORD=password

Ejecución

Para iniciar el servidor en modo desarrollo, ejecuta el siguiente comando:

npm run start:dev

Esto inicia el servidor en localhost en el puerto 3000 (o el puerto definido en tus variables de entorno), y el servidor se reiniciará automáticamente cuando hagas cambios en el código.

Pruebas

Este proyecto sigue las mejores prácticas de desarrollo basado en pruebas (TDD) y cuenta con pruebas unitarias exhaustivas. Puedes ejecutar las pruebas con el siguiente comando:

npm test

Uso

Una vez que el servidor esté en ejecución, puedes enviar un correo electrónico haciendo una solicitud POST al endpoint /email/send. La solicitud debe incluir un cuerpo JSON con los siguientes campos: to, from, subject, y text.

Por ejemplo:

curl -X POST -H "Content-Type: application/json" -d '{"to":"dest@example.com", "from":"src@example.com", "subject":"Hello", "text":"Hello World"}' http://localhost:3000/email/send

Postman Collection

En la carpeta /resources, encontrarás una colección de Postman que puedes utilizar para probar la API directamente desde la interfaz de Postman.

Licencia

Este proyecto está licenciado bajo los términos de la licencia MIT. Puedes ver el archivo LICENCIA para más detalles.

Contribución

Las contribuciones son siempre bienvenidas. Ya sea un informe de bug, una mejora, una nueva característica o incluso un consejo sobre el código o la arquitectura, no dudes en contribuir. Por favor, revisa las directrices de contribución antes de hacer un pull request.

About

Servicio de envío de correo electrónico construida con NestJS, proporcionando una API RESTful altamente escalable y segura, ideal para implementar el envío de correo electrónico en cualquier aplicación.

License:MIT License


Languages

Language:TypeScript 93.1%Language:JavaScript 6.9%