Using Amazon SES for Bulk E-Mail Distribution, Part 2
The Simple Email Service can handle a variety of needs, but if you want to send mass e-mails to addresses outside of your domain, be prepared to make your case to AWS.
In the previous column, I explained that Amazon Web Services' Simple Email Service, or SES, can be used for sending various types of automated mail. I then went on to show you how to verify an e-mail address for use with Amazon SES.
Now I want to show you how to use SES to send bulk e-mail.
Before I get started, I recommend taking a moment to make sure that your e-mail address has been correctly verified. To do so, log in to the AWS console and go to the SES dashboard. From there, click on Identity Management, followed by Email Addresses. The Email Addresses screen should confirm that your e-mail address has been verified.
If your goal is to send large amounts of e-mail messages, then you are going to need to use an API. However, the console is useful for sending low numbers of messages, or for making sure that SES is working correctly. In order to do so, however, you are going to need to use the procedure described in Part 1 here to verify each e-mail address that you plan to send a message from or to.
To send an e-mail message, go to the SES console's Email Address Identities screen, select the check box next to the e-mail address that you want to send a test message from, and then click the Send a Test Email button, as shown in Figure 1. You will also notice that the figure confirms that the address in question has been verified.
Sending a test e-mail message is really easy to do. As you can see in Figure 2, all you have to do is fill in the recipient's e-mail address, a subject line and the message body. Remember, the recipient's e-mail address must be verified or you will receive an error message. The good news is that if you are using multiple e-mail addresses from a common domain, then you can verify the domain rather than verifying each mailbox individually.
Incidentally, the console does allow for slightly more advanced testing. You might have noticed the More Options link, shown in the figure above. Clicking this link exposes additional fields such as Return Path, CC and BCC.
Of course, the big question is how to send messages to e-mail addresses that have not been verified. After all, if you have a mailing list, then it is unrealistic to expect to be able to manually verify every address on the list.
The interface shown in the screenshots here is designed for testing purposes. Because of this, AWS places some stringent restrictions on the testing interface. You've already seen that you can only send mail to and from verified mailboxes or domains, but there are other restrictions. For example, you can only send 200 messages in a 24-hour period, and SES can only handle one message per second.
AWS puts these limits in place as a way of preventing fraud and abuse. The good news is that you can have these limits removed, but AWS has to be the one to remove the limit, and it will not grant unlimited SES use to new accounts. If you want to have the limits removed, you will have to go to the AWS Support Center and click on Create Case, followed by Service Limit Increase, and SES Sending Limits.
Unfortunately, AWS does not make it easy to have the limits removed. You will need to tell AWS how many messages you plan on sending, and the greater the number, the more closely your request will be scrutinized.
You will also have to explain why you need to send bulk e-mail and verify that you have a process in place to handle bounced messages and message-related complaints. Although I was not able to capture the full questionnaire in a single screenshot, you can see the types of questions that AWS asks in Figure 3.
In conclusion, SES can handle a variety of e-mail needs, but if you plan on using it for anything other than e-mailing users within your own domain, then you will need to create a support case and request an SES limit increase.
Brien Posey is a 19-time Microsoft MVP with decades of IT experience. As a freelance writer, Posey has written thousands of articles and contributed to several dozen books on a wide variety of IT topics. Prior to going freelance, Posey was a CIO for a national chain of hospitals and health care facilities. He has also served as a network administrator for some of the country's largest insurance companies and for the Department of Defense at Fort Knox. In addition to his continued work in IT, Posey has spent the last several years actively training as a commercial scientist-astronaut candidate in preparation to fly on a mission to study polar mesospheric clouds from space. You can follow his spaceflight training on his Web site.