• Post Reply Bookmark Topic Watch Topic
  • New Topic

Email Notification System Design

 
Shrinivas Mujumdar
Ranch Hand
Posts: 328
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello Friends,

We are planning to design an e-mail notification system with following requirement considerations:

1. Email notification will be event based e.g. Adddress Changs etc.

2. Certain events will have higher priority against other events in such a case mails for higher priority events should be sent first and for low or medeium pririty events should be sent later.

3. Bulk emails should be queued and then sent across to SMTP server. The load should be evenly balanced.

4.There should be a logging mechanism to track the status of emails sent (delivered, failure, bounced).basically we should get a status of mail(s)sent logging to file/database will not be an issue once we get status from SMTP Server.

5. Email notification should run as a common service that can be used by multiple applications.

6. The service should spawn a new thread for every event resulting into an email notification.

I have following queries regarding technical design related with above scenario

1. Does this design requires Job Scheduler to schedule mail sending activity at regular intervals. If yes can I use Timer related API in java.util package or there is any other alternative.

2. Is ir possible to expose this module as web service so that multiple applications can access this. Is it a good design that when multiple threads are spawned for each email notification request thread accesses this web service

3. How to get the status from SMTP server to know what is the status of the mail which was sent to it.



Thanks,
Shriniwas
 
Pat Farrell
Rancher
Posts: 4678
7
Linux Mac OS X VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Shrinivas Mujumdar:

3. How to get the status from SMTP server to know what is the status of the mail which was sent to it.


I'm pretty sure that you can not get what you probably want on this one (your #3). SMTP is a store and forward system. While you may be able to find out if a particular message has been queued or sent from the first SMTP server, that means nearly nothing. A message can have many hopps and delays.

I assume what you really want to know is "is the email message at the destination yet?" which is unknowable. You can try to use delivery confirmation, which really means "has message been read" but not all clients support it, and many users (humans) don't agree to send the confirmation.
 
Shrinivas Mujumdar
Ranch Hand
Posts: 328
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Pat,

Could you please respond to other points as well. Obviously this holds true to other experts as well.

Thanks,
Shriniwas
 
Mritunjay Giri
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Shriniwas,

I am working on the same requirement.

Notification System - A application component, suppose to send 10 thousand mails and 10 thousand print command and same number of text messages.

I want to know if you have design and developed this components and willing to share. I am using J2EE platform.

Thanks
Dipankar
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!