Reduce time spent sending emails from days to hours - email

A client sends out monthly emails to about 1 million users which will grow with time. They currently send through an in-house exchange server.
Their current approach starts with first preparing all emails, recipients and attachments, then a script starts feeding the exchange server. Sending just a million mails generally takes days.
My role is to propose a better approach/solution that can get these emails sent and possibly delivered within hours. The choice of using 3rd party services like amazon ses and sendgrid exists but what will make the delivery time reduce as required.

I'll start this with two disclaimers: 1) I am a SendGrid employee, 2) This question is right on the border of questions StackOverflow doesn't like.
That said, both SES or SendGrid will be able to process emails at a rate much faster than 1 million over several days.
Speaking for SendGrid, we accept all mail passed to us and queue it on our end, so if you're able to send a million emails at us in a second, we'll accept them and deal with queueing on our servers. So that answers the question of how fast you can get the mail away from you; leaving the question of how fast it will get to your users.
That's a harder question and depends on a number of factors, including if we're receiving negative feedback from email providers (Google, Yahoo, Comcast, etc.), and your typical send volume. All said, it could take anywhere from a few minutes to a few hours, but days is definitely unheard of.
As far as I know SES will do something of the same nature. SES enforces client side send rates (meaning you'll need to send them only N emails per period), but this can be upped greatly depending on your volume and trust. Again, as far as I know, SES should take anywhere in the neighborhood of minutes to hours to process and send 1m emails.

Related

How does third party send bulk emails from gmail?

Gmail has a 24 hour rolling period limit of 2000 emails, outlook has a limit of 1000 emails and all other service providers has a limit.
How does Saleshandy and sendpluse send almost 10k emails per day from gmail when the limit exists? What should I do if I want to send such number of emails? Is it possible using python?
Gmail and outlook both do indeed have certain restrictions and limits when it comes to the number of emails that can be sent out in a day; unfortunate I know.
I am Vatsal from SalesHandy, and I will explain the process of sending 10,000 emails from Gmail (& outlook) all at once.
SalesHandy’s mass mailing feature with automated follow-up lets you schedule as many emails as possible and yes, we are talking more than 10,000 emails too.
We mentioned that you can schedule all of these emails to be sent at once, but the sending will be limited by your email service provider's daily email sending limit. It is not recommended to email blasts at once because it may harm your email account's reputation and cause your emails to end up in the recipient's spam box.
Mail Merge Campaigns can be sent using SalesHandy.
If you wish to know more on how exactly one goes about this process, you can read our detailed blog here - Gmail / Outlook.
Feel free to ask me any other questions you have! :)

Can amazon AWS guarantee lower bounce rates (or reduce bounce rates) at receiver servers?

I'm currently delivering around 200k emails per day with my local server.
I have logic in place to wait 0.5 seconds before sending each mail.
I'd like to eventually get to send more than a million emails in the next months (maybe 10 millions per day, let's say one year from now).
Currently, with my waiting strategy, this is not possible.
I'd like to know therefore if using the Amazon Simple Email Service, I could get lower bounce rates.
As for the mechanisms involved: If the bounce rates will indeed be lowered for AWS, could this be perhaps because it's whitelisted by a lot of email providers?
Bounce rate for bulk emails totally depends on how effectively you have maintained your subscribers email list to send out bulk emails AWS SES has nothing to do with the increase or decrease in the bounce rate.
For example:
In first go if you send out 100 emails using AWS SES out of which 10 subscribers marks the email as spam.
In second go if you send 100 emails to same subscribers using AWS SES you will get a bounce rate of 10%. So AWS SES will not have any effect on the bounce rate.
Bounce Rate:
In order to reduce the bounce rate using your bulk email service, all subscribers in the list should be properly double opted-in, which means that you should have sent those subscribers an email asking them to verify their email address (and their willingness to receive your emails). This action serves a dual purpose: a) you are eliminating any invalid email addresses that might have been entered; and b) making sure that the email recipients do in fact own that email account and do wish to receive your emails.
So even if at the start the bounce rate using AWS SES will be low if the subscribers list is not maintained properly.
This article is also a good to read regarding for a good strategy to keep the bounce rate down. AWS SES and deliverability.

Mandrill: How long do I wait before assuming deliverability?

I've set up a Mandrill webhook which will update my app whenever an email hard-bounces or is rejected, so I don't keep that particular email address in my database. The way it works is this: a user gives me an address, I send him a confirmation, and if I don't hear from Mandrill's webhook in 30 minutes, I assume it's OK.
So I ran a some tests with non-existing addresses, and they didn't go too well. Most of them appeared as delivered for hours, long after I'd assumed they were fine.
Also, I didn't account for the delay in receiving webhook batches. One mail bounced at 2:01pm, according to the outbound activity logs, but the webhook history shows a batch being sent only at 2:52pm.
My questions is: how long should I delay my app's assumption of deliverability in order to give Mandrill enough time to detect hard-bounces / rejections and then send me webhook batches? I can live with letting some 5% bad emails going by because of delayed in processing on peak-time or other extraordinary events, but it seems like my 30 minutes isn't enough to catch anything at all...
Not the answer you're looking for, but Mandrill doesn't let you do this. The only way of checking if an email has been delivered is to poll Mandrill (with the message/info.json API). To see if the message is delivered you have to check the smtp_events and look for an event with diag starting with 250. As you've already experienced it may take a long time between delivery and when a message is accessible through the API. In my experience the normal case is around 10 minutes, but it might take many, many hours (this is the case for bounced emails as well as emails that got delivered immediately).
If it is important to you to know when an email is delivered, I would recommend you to switch to another email provider. There are plenty of different ones out there. I've personally used Amazon SES. They're cheaper than Mandrill, and you can expect a delivery notification after a second or so. Do note that Amazon SES is a bit more bare-bone than Mandrill (they don't have support for open/click-tracking, templating, dedicated IP, etc.), so it might not be the right provider for you.

Options to get a higher email send limit

Realize there a lot of bulk email services, but what I'm trying to do doesn't feel like bulk email; though maybe I'm just thinking about it the wrong way. Case in point, I attempted to create an account on MailChimp and it wants a subscriber list.
I'm send one, and only one email per address; for example, replying to job postings on Craigslist. I'm not sending follow-up emails, and basically the first email I send is the last to an address unless I get a reply.
Sometimes the email I send is based on a template, other times they've asked for something, and I customize the email. I've automated creating resumes and sending emails in the past, but currently the fastest way just seems to manually do it; meaning I can't imagine sending more than 500 emails in a single day.
As far as I'm able to tell if Gmail, Yahoo, Hotmail, Lycos, AOL, etc. - do not offer the service of paying per email over the send limit, since I'd be willing to pay for the service and be done with this, as it's taking up a huge amount of time and overhead to deal with.
Currently, although I've seen sites giving higher numbers, most of the providers appear to limit emails sent to 20-40 a day; possible I'm doing something wrong, but if I am, I don't understand why these limits are not easy to see within an account, so I'm either able to stay within the limits, or see the service is not a good fit for my needs; currently I just get random error-messages, locked-out, etc.
(If needed, and the setup doesn't take more an a few hours, I'm more than willing to deal with configuring scripts, CSV files, templates, etc. on my computer - as long as they're well documented and the end result addresses the issue; meaning that if I have to send a one-off email, I just copy the template, make the changes, and point to the email. The system must also support attachments, since every email has at least one attachment; best solution would be if I'm able to load an attachment once to the system, then alias it in the local script.)
Use the mail account your internet service provider provides. It is unlikely that you hit their limits, and even if that happens, you, as a paying customer, can easily negotiate a higher limit.

Building a enewsletter sending system / avoiding spam

Firstly, I AM NOT A SPAMMER :) I am a legitimate developer, working for a company who is currently developing an enewsletter sending system for our clients.
Now, we sent out a campaign for one of our clients to 80k solicited emails, and we got a huge amount blocked due to spam, even though our client has used ymlp.com to send similar campaigns to the same mailing list in the past with no problems.
I have stumbled across a few nuggets of information such as:
How to send 100,000 emails weekly?
http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html
So I have got the SPF record setup, and I am in the process of sorting out DKIM records too.
But my question is this... How can ymlp.com and other newsletter sending systems such as campaign monitor and mail chimp get by all the spam blockage, without getting their users to setup these DNS records?
Our client who uses ymlp.com has no other SPF records setup other than the one I have created for our system.
I have noticed the word spammer being thrown around way too freely in topics such as this, so again I must reiterate, I am not looking to spam people, this is a genuine question for a genuine system in development.
Edit: - We seem to pass all SPF / DKIM / DomainKeys checks ( brandonchecketts.com/emailtest.php ), yet still get rejected for spam by a fairly hefty chunk. Our read rate on campaigns sent is about 2% at the mo, which is way below the 7-8% we expect
Have you checked out reverse DNS? It does help on the deliverability front. Also, be sure to monitor the reputation of your IPs.
Hope that helps!