Those of you that follow my posts here know that I have a love/hate relationship with mailing lists. I love the idea offering the service to my large community of users, but hate the various implementations available.
Right now, I'm using Mailman. This required purchasing a VPS and learning my way around CentOS and dealing with python script craziness. At the same time, my community of users visit my ZOHO Creator site to publish calendar events and emails (sent to Mailman for distribution). I have been looking for a way to unify the system: either move all the services to the VPS or all the services to ZOHO - for many, many months.
How to unify services?
For a while, I have been testing if Creator could double as a mailing list service. In my testing, email delivery rates are often slow. Also, there's no bounce processing or other email stats. Then I learned about Amazon Simple Email Service (SES). Assuming Amazon web services do not go offline (as they did last week), SES provides high-volume email at really cheap rates (
http://aws.amazon.com/ses/pricing/). So I started to look at the SES API (
link): it's a simple https post using your AWS keys for authentication. We all know ZOHO Creator can post to a url (
see my example). But there was a problem, and I have discussed this in the forum (
here and
here). Basically, the Amazon SES requires a few things we cannot do in deluge: 1) Parse a string to a hash code and 2) URL encode a string. The hash code is required in the post header and is how Amazon SES verifies your request. Basically, it looks at the date value in the post header, your public AWS key and then hashes the date using your AWS private key. If the hash you send matches what Amazon gets for the hash, the post is accepted. The URL encode is required to convert emails and rich text into strings that can pass over http. For example the
url encoded version of "My dog has spots!" is
What to do?
I decided to make an intermediary API in PHP on my Dreamhost account. This accepts a vanilla url post from Creator and works it up into a SES url post. This was not trivial, but with some help on the Amazon SES forums, I got it working. Eventually, I'll also add-in DKIM headers and so forth to digitally sign my email like my Mailman service does.
And so?
And so, I have found a way to use ZOHO Creator - with all the excellent database and work-flow capabilities - as the front-end for an announce-only list server. In my view, this is the best mailing list app imaginable!
For example, I could allow my users to register and make a profile page. Then create forms to select a cross-section of users based on profile criteria and send those members a email via the SES api. Using ZC variables, each email can be personalized with the user's name and can accommodate links to their profiles for "unsubscribe" or "profile management" actions.
Down-side?
Each member meeting the criteria would require a single http post. As there are only 500 post per day, this could become an issue. But I bet that the server resources to send http posts are much less that using ZOHO email servers (yes?). I'd gladly trade-in most of my sendmail tasks for more http posts.
Cheers,