A message database server receives a message request from an application
program and returns a confirmation or error status to the application
program after attempting to store the message information contained in
the request to a data store. The data store may be maintained by the
message database server or by a queuing system. A message server obtains
the message information from the data store for transmission through
either a pull or push methodology. In one aspect the message data store
contains a set of personalization tags and an identifier for a message
template that contains the text of the message to be sent. The message
server creates the message by retrieving the message template specified
by the identifier and filling in variables in the text in the template
with the appropriate personalization tags.