We currently use Amazon SES for all of our emails. We have recently decided that we would like to maintain a record of sent emails to make it easier to see a history of communications with our users as well as provide some pre-sending detection for invalid email addresses.
The software to be written will have the following features:
+ A simple RESTful interface that our various services can call, providing an email address, a template ID, a priority integer and data for rendering the template as required.
+ A simple RESTful interface to add an email address to the blacklist
+ A callback which will process SES bounces and add these addresses to the blacklist
+ A simple RESTful interface for querying the email history of an address, which will return a paginated list of messages sent to the account and/or an error message that the account is blacklisted.
When a request comes in to send an email the service will
1. Check the email address to determine whether it's on the blacklist, returning an appropriate error message if it is
2. Render the template and insert the message into a queue of waiting messages, using the priority integer to determine queue position
3. Render the template file, and save it to the list of messages *pending* for the specified email address
4. A separate piece of the script, probably called regularly via cron, will determine how many messages may be sent in the current sending window (N) by querying SES limits, and dispatch the top N priority messages with status "pending"
All of this code will be written in PHP using our in house API development framework (which is substantially similar to Code Igniter). All RESTful interactions will occur via JSON. As currently planned, all data persistence will occur in Redis, although we are open to considering other persistence layers.
The successful applicant should be able to complete the core portion of this project in 20 hours or less. As some time will be needed to learn our development environment, I have budgeted an additional 10 hours for training in our coding style and our API development libraries.
Thanks for inviting us to bid on this project. We have a team of highly qualified and creative professionals. Give us a chance to show our talents and we assure you quality.
Let me work for you. See Profile page for the Amazon SES work including other amazon projects.
i am my self developer not any company or agency so you can directly communicate with me.
see my recent work for the technical expertise along with reviews & feedback on my profile page.
let's discuss and get started.