Email Notification Service
Overview
The objective of this service is to create a common point to manage all the email notifications being sent out of the platform. Notification email service consumes email requests from the Kafka notification topic and processes them to send it to a third party service. Modules like PT, TL, PGR etc make use of this service to send messages through the Kafka Queue.
Pre-requisites
Before you proceed with the documentation, make sure the following pre-requisites are met -
Prior Knowledge of Java/J2EE
Prior Knowledge of SpringBoot
Prior Knowledge of third party API integration
Prior Knowledge of REST APIs and related concepts like path parameters, headers, JSON etc
Prior Knowledge of Kafka and related concepts like Producer, Consumer, Topic etc.
Key Functionalities
Provide a common platform to send email notifications to the users
Support localised email.
Configuration Details
egov-notification-mail is a consumer that listens to the egov.core.notification.email topic, reads the message and generates email using the SMTP Protocol. The services need that the senders email is configured. On the other hand, if the senders email is not configured, the service gets the email id by internally calling egov-user service to fetch email id. Once the email is generated, the content is localized by egov-localization service after which it is notified to the email id.
Deployment Details
Deploy the latest version of the notification email service.
Make sure the consumer topic name for email service is added in deployment configs.
Integration
Integration Scope
The email notification service is used to send out email notifications for all miscellaneous / adhoc services that citizens avail of from the ULBs.
Integration Benefits
Can perform service-specific business logic without impacting the other modules.
In the future, if we want to expose the application to citizens then it can be done easily.
Steps to Integration
To integrate, the client service should send email requests to the email notification consumer topic.
Last updated