This system will have:
- client administration
. projects per client
- forms administration
. forms per project
> the system generates an id for the project and other for the form - this id will be used in the form action configuration through hidden fields, always all the forms will be pointing to the same send page. each project needs to have the option to store all email communications coming through the forms on the database. variables to the send page are: project id, form id, store data (y/n), sucess page redirection (if the send suceed, the page returns "sucess" string to use in flash forms), failure page redirection, template location (for html part of the emails, explained below) and some other for specific applications that will be explained during the project development.
- bulk email administration
. send email campaigns, and they will have the option to be related to a project or to be standalone.
. option to schedule the sending
. option to import contact list (xls, csv and txt formats)
. store contact list for future sends (if the campaign is related to a project, for example)
- smtp administration
. input gmail and other smtp accounts to send the emails
. option to use both smtp accounts and server native mail function, setting maximum number of emails per day and per period for that function (example: a server that limits sending 1000 emails per day but no more than 100 per hour).
. option to select, in each campaign (for bulk email sending) if using smtp accounts or native mail function
> the system will create a queue with the emails sent to it and alternates inputed smtps / native mail function to send the emails in small packages each specified time period to avoid blacklisting or server flood. If close to the maximum daily number of emails on the server, it automatically switches off its usage and uses only inputed smtps.
> the template system helps to configure personalized emails and / or html part of the email. A template will look like:
<font face="Arial, Sans Serif" size="2">
<p>Your friend, [[[friend_name]]] ([[[friend_email]]]) told us you could be interested in our product.</p>
Variables will be replaced by bulk email content or posted content on the forms.
We need this system asap and will supply all the details as well as the HTML / formatting needed for each tool.
Use of Ajax / JS functions to improve experience is a plus but not a requirement.