<Implementing DeliveranceMail

Installation Docs
API Docs


Implementing a DeliveranceMail server

In order to implement a DeliveranceMail server you will have to go through the folowing processes.

  • Install the DeliveranceMail server, the application can be easily insalled on windows workstations with an automated installer.
    For final deployment the DeliveranceMail server can be easily installed on unix servers by unzipping the unix download and setting the environment.
  • Look at the examples provided and ensure you have the server running happily. You will need a Java JDK from Sun (not just the JRE).
  • Design the email templates
    • Design the templates and look and feel
    • Create the HTML email templates
  • Implement an email list, if you are firing individual emails you can skip this stage
    • Decide if the list is static or dynamic
    • Decide if you want to implement a text file of addresses or a database or have some other system, for example LDAP
    • Implement an EmailLocation object which fetches the list of addresses.
      • If the list is static the list can be loaded when the object is instantiated
      • If the list is dynamic it should be loaded every time the getAddresses() method is called
      • It is not difficult to interface to existing Java applications.
  • Generate the JSP's from the templates. The JSP's can be as complicated as the application requires. Complex code in java beans can be created or integratation with existing applications can be implemented. The objects directly used by the JSP should be Serializable if they are to be passed over RMI. If the server will run in process with the rest of the application, there is no requirement that the object be Serializable.
  • Decide when the emails are to be sent
    • One or more JSP is sent to a list of addresses or a single address when a trigger is fired.
    • The application can fire the triggers when event happen such as a user registering on the website.
    • The application can fire the triggers itself at certain time intervals. For example sending a weekly report to all staff with sales figures. or updating intereted customers with additions to the catalogue.
    • Configure the application and the triggers. This involves making simple changes to the XML configuration files.
      • For very complex schedules, such as every time a user has a birthday, a trigger may have to be implemented that references additional data. The application is easilly extensible by creteing objects that conform to the API and entering the classes in the config files
  • Start the server.
    • On windows the server can be run as a service. This is not recommended for development since the output logs are less descriptive.
    • The server can be started in standalone mode by running one of the included scripts.(If you are using custom java code remember to include it in the classpath or just add the jars to the lib directory)
    • The server could be started with an existing application which requires graphical emails.
  • Control the server
    • Once running the server can be controlled with a Graphical console that allows the scheduler to be stopped and started. The console also allows triggers to be listed and manually fired. The console is designed to run over a network but is not yet secure enough to be run on the Internet. A simple servlet is included that could be configured to control the server, if secure web based control is required. The security could then be managed in the web server.
  • Extending the server.
    • The API for the server is designed to be extensible. By implementing deliverance interfaces most of the components of the server can be extended and then included by changing the configuration.
    • DeliveranceMail is the first release of the Deliverance project, a more generic messaging server. The Deliverence server is intended to eventually be able to use generate other types of message such as XML messages and send them using other protocols such as Secure HTTP. Some of the extended features are included but undocumented and untested. Feel free to try them out and use them for you purposes. The DeliverenceMail release is intended as a working server for graphical email messages. It is an example of the JSPTemplate project.
    • Source code is included with the download for the really keen.
    • Contributions, bug reporting, or reqests for features should be sent to the sourceforge mailing list for this project