Informing public in gentle way: A glimpse of software engineering for Queue e-mail agent


Visualization is important phenomena of working with initial design of software especially while working with customizable and user defined variables during runtime. Three years back in 2013 while I was designing digital repository, I was really excited to make a model of full phase of digital space to store all digital kinds. I designed the repository associating many long run aspects, i.e. knowledge management, digital publishing, open data, web services, and data mining with artificial intelligence (AI) for auto e-mail for promotional activities. In 2017, I came up with Queue e-mail Agent (named – Qmail) to fuel promotional activities of digital repository in ethical and gentle manner.

Automation of user actions and promotional activities of digital repository are manifold of Qmail’s objective. Since making easy way and effortless action to users are prominent goals of invention of Qmail Agent, the system performs its functions with underline necessary of users’ action automation and users’ preference rather than only unnecessary action as promotion of digital repository. Rules of the system architecture and triggers of users’ actions determine performance and execution of system to send email to users.

Qmail -- Context Diagram - 1
Context Diagram of Qmail System.

Architecture of Qmail has major three components – Data Mining, Queue Mail, and SMTP Engine – to reach to its goal of sending preferred action e-mail to end-user. Every action into the system has been taken as single “new thread” which runs independently and sends feedback of execution status to console. System console is major output of system to monitor overall progress of process beginning operated. System architecture has implemented “Hand Shake” approach to execute each thread and feedback mechanism to track down each process.

Data Mining – component is preliminary responsive agency to generate trigger according to rules configured by system administrator. Rules define a set of rules as a protocol to execute with delegates and priorities.  Dataset of users and variables in message template defined in rule guide data mining engine to design initial “e-mail message” which, later on, is supposed to push to queue engine. Data mining component prepares message according to user action and user preferences to push to queue.

Queue Mail – component, inherited by hash-table class, is simple queue arrangement engine with “Push” and “Pop” basic functionality to manage messages in queue routine. “Push” stores message to engine at the last of the list and “Pop” retrieves message which is at the first from engine.

SMTP – component, inherited by SMTP class, get message to send by “Pop” functionality of “Queue Mail” component. The component takes action to send e-mail to individual user or group of users according to message stored in queue using thread and feedback mechanism.

Feedback Mechanism – is vital hidden component discharging information to system console to drive further action to be taken by the engines. Each component of the system is connected with feedback mechanism and sends their each status of process and step to console. Feedback status also sometime determine next execution of component whether to execute or not.

Qmail Console - 1
Qmail console (desktop app) displaying feedback and message of each process.

Associate those components are designed very carefully to mitigate collision between public interest and suppliers. In most of the time, public ignore those e-mail which is unwanted and without priority of their daily schedule. Rules component has been designed to address those users who are neutral to response subscription of e-mail as they require only. In addition, data-mining component create message according to preference of users’ and needful action to be taken by system as well. It is obviously promotional tool but promotional tool with acknowledgement of users’ preferences and prior approval of subscription.

Microsoft C# .NET framework for desktop, ASP.NET and MS-SQL Server are used in development of Qmail system.

The most interesting matter of the system is that all controls are within web based applications and execution in windows base service into the server. This tool is designed with international compliances of software engineering to accomplish goals of digital actions informing people for good cause.

Qmail Rules
Action dashboard in web app control.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s