Add-on Mailinglist addon to interface with Amazon SES Simple Email Service to send newsletters to members?

Stuart Wright

Well-known member
Doesn't this exist yet? The idea being that
  • Admin can set up mailing lists - title, description. The description describes the type of email people will receive. (Ours will be latest news/reviews/articles newsletters for home cinema, movies, gaming, technology etc.)
  • Members can subscribe/unsubscribe via a mailing list page.
  • You compose newsletters externally or maybe using redactor. HTML and plain text versions (there should always be a plain text version).
  • You test the newsletter by sending to yourself from the system.
  • You send the newsletter to the selected mailing list(s). Our current mailing list is over 150,000 recipients.
  • The system uses the Amazon SES (Simple Email Service) API to send the emails and process bounces and unsubscribes. Automatically unsubscribing necessary members from the mailing lists with an alert sent to them informing them of their unsubscription.
  • You pay Amazon for the cost of sending the emails. It's not expensive.

That's the idea. In a nutshell. Without fleshing out the details.
 
Thanks Brogan. Mailchimp works out 50 times more expensive than Amazon for our 150,000 recipient mailing list.
Average email size : 100k (that's a big email!)
Recipient list : 160,000
That's a total email data transfer of 15.25, let's say 16 gig a month.

Amazon cost :
$.10 per thousand = $16
$.12 per gigabyte (up to 10TB) = $1.92
Total : $17.92

Mailchimp cost : $897

But it's worth sending Andy a PC.
 
A suggestion for this earlier was some sort of Sendy integration which uses amazon SES

http://xenforo.com/community/threads/newsletter-function.713/page-2#post-510036

http://sendy.co/

Has a simple API too for joining up mailing lists

http://sendy.co/api

Also gives you default subscribe forms:

Code:
Subscribe form
This is the subscribe form HTML code for Special list. To sign users up programmatically, use our API.

<form action="http://sendy.co/demo/subscribe" method="POST" accept-charset="utf-8">
    <label for="name">Name</label><br/>
    <input type="text" name="name" id="name"/>
    <br/>
    <label for="email">Email</label><br/>
    <input type="text" name="email" id="email"/>
    <br/>
    <label for="ClientType">Client Type</label><br/>
    <input type="text" name="ClientType" id="ClientType"/>
    <br/>
    <label for="Phone">Phone</label><br/>
    <input type="text" name="Phone" id="Phone"/>
    <br/>
    <input type="hidden" name="list" value="8mGw3CVGBJcQLA7Z95ngDw"/>
    <input type="submit" name="submit" id="submit"/>
</form>

Its what I plan to use in the future.
 
Last edited:
Does Sendy just present a user friendly way of subscribing, send the emails via Amazon and charge you a % on top?
If that's the case, then why not just use Amazon's SES API directly?
 
Sendy is a self hosted email newsletter application that lets you send trackable emails via Amazon Simple Email Service (SES). This makes it possible for you to send authenticated bulk emails at an insanely low price without sacrificing deliverability.

Much simpler (and cheaper) than building fully integrated into xenforo and you are able to do almost all the things you listed, whilst using SES.

Or don't integrate at all and use the html subscribe forms
 
Does Sendy just present a user friendly way of subscribing,
Yes
send the emails via Amazon
Yes
and charge you a % on top?
no, one off fee to purchase the software.
 
We don't want people to have to subscribe via Sendy though. I want them to subscribe via Xenforo. Can we do that?
I currently use a mailing list service where I have to manually export the recipients from vBulletin, import into the mail service, send the newsletter, and then before the next newsletter, export the bounces and unsubscribes, update the user table to unsubscribe those users and then re-export.
A real PITA.
 
Import your current list and add a sign up html form on your forum for new people.
You would need an add on for adding through xenforo user preferences though.
 
Still struggling to see what the benefits of Sendy are, when there is already a php class for Amazon's API. We could use that to call on the locally maintained mailing list (which we'd have to keep anyway) and send the newsletters directly via Amazon, bypassing Sendy altogether.
I think Sendy is fine for people who don't have the capability to maintain their own mailing lists.
But we can do that in Xenforo with relative ease.
 
It was just a suggestion, if you prefer to have someone code another solution within xenforo, then great. Will you include the tracking and reporting of each mailshot and click reporting on links within as that's what I need.

Screenshot_2013-07-25-12-35-11.webp
 
We don't want people to have to subscribe via Sendy though. I want them to subscribe via Xenforo. Can we do that?
I currently use a mailing list service where I have to manually export the recipients from vBulletin, import into the mail service, send the newsletter, and then before the next newsletter, export the bounces and unsubscribes, update the user table to unsubscribe those users and then re-export.
A real PITA.
That's what I did when I was moving into XF. There was a VB addon that connect to VB so we asked @xfrocks to code this Mailchimp addon for us.
It's still working for us on XF 1.1.5 as far as I can tell. Not sure if it will work with 1.2 yet.

We have a small list <10K subscribers and buy emailing credit in bulk (1 cent for sending each email) but obviously nobody can beat Amazon with cost.

I like the features and mailing templates used by Mailchimp. I don't know how Amazon stacks up in term of features. I don't want to hand code templates for mailing campaign.

In any case, I would like to see this addon upgraded and add new features.
 
I suggested Sendy earlier, too, and this is my thought process...

Let's keep this as a generic scenario.
  1. Create a list in Sendy with an ID of NEWSLETTER
  2. Have a XenForo add-on that uses the Sendy API:
    1. Set up an item in the Admin CP with the same ID as Sendy e.g. NEWSLETTER
    2. During registration, allow users to subscribe to the NEWSLETTER list (or indeed multiple lists if multiple items have been set up in step 1)
    3. Use the Sendy API to pass that information from XenForo to Sendy.
    4. In the user's preferences, show them which lists they are subscribed to.
    5. Allow them to unsubscribe from existing lists.
    6. Allow Sendy to get updated if a user changes their e-mail address.
    7. Perhaps update Sendy to remove banned users etc.
    8. The Sendy API is used again to pass the unsubscribe request.
  3. Use Sendy to get the bulk of your reports and analytics (As demonstrated by Arms above).
  4. Use Sendy to create the actual newsletters (the interface for this that they provide seems pretty good).
  5. Use Sendy to send the e-mails (via Amazon SES).
So as far as your users are concerned, they are indeed subscribing and unsubscribing via XenForo. As far as you're concerned, from Sendy you've got a (very cheap) ready made interface with all of the reports you need and an excellent interface for producing the newsletters. You don't have to do any manual importing or removals. It's very cheap. $59 for the software plus dirt cheap e-mail sending from Amazon. It seems to me like it might actually be the solution for the bulk of the issues relating to managing lists and sending e-mails.
 
Well Chris, you are certainly qualified to make this add on and your workflow process there seems pretty much bang on. You can count me in as a buyer if this gets made.
 
Sounds good Chris provided that we could have around half a dozen different mailing lists and that the list of recipients is kept up to date so that 2.7. - banned users, and anyone else not eligible to receive the newsletter is removed from the mailing list. That's really important. We can't ban someone and then send them a newsletter. They'd be very inclined to send in a spam report to their ISP.
 
Think the Api allows for unsubscribe from all lists that could be added to ban script
 
There isn't an out of the box method of mass unsubscribing, but the solution is quite simple.

It has a way to check the subscriber status for a list.

So you first loop through each list and check if they're a subscriber of each list.

For each list where they are a subscriber, unsubscribe them from that list.
 
Sorry Chris I thought that if you didn't include a list in the unsubscribe it actually unsubscribed you from all
 
Back
Top Bottom