AWS Serverless Email Marketing
Quick and easy email marketing for my friends Bachelor Party.
Overview
My best friend Brayden got engaged! Aside from taking terrible engagement photos I also got to plan his bachelor party since I am the best man. This was such a fun project! For reference one of my best friends favorite show is Peaky Blinders.
The Challenge
Planning the bachelor party is hard, but whats harder is keeping 6 dudes on track! Apart from asking multiple times what they were comfortable with, I had to also ensure everyone knew what the plan was. I kept thinking of ways to approach this, then I remembered I'm an email developer!
The Process
The first step is to design the email. I had to answer a few questions:
-
What information did I want on this?
-
How much information?
-
Was this worth the time and effort?
The last question was easy to answer, I knew this was only going to take a few minutes and Brayden is my best friend so. Now, if I wanted this email to actually be of use, I had to think of a use case scenario. If I am out with friends drinking, I don't want to be the responsible for our directions. That's our use case, and it's true the planner never gets to have as much fun. So, I decided I want the itenary to be on this email, as accesible as possible. I want any one of the groomsmen to be able to look at the email, while we're out, and understand where we need to go.
After the email was designed, next was the technical (not-so-technical) part. For this project, I use AWS Simple Email Service, Lambda, S3, EventBridge, and Identity & Access Management. I created a bucket into S3 following best practice with mostly default settings. This bucket will store the email template and contacts list. Simple, I made the HTML and CSS, and the contacts list is a simple CSV containg personalization and emails of course.
The next step is configuring the SES, which is as easy as using your domain (this website) and verifying an email. Next, I add all the different identites (groomsmen and wife) and I send them a verification email. Users must be verified to receive emails, for this project it was easy enough to do it manually.
For the Lambda function, we basically loop through our contacts list and grab whats needed i.e. personalization and email address. Then we call SES to send the email and its as simple as that. You will have to create a policy to give SES permissions to access S3.
Technologies
- AWS
- HTML
- CSS
What I Learned
I had so much fun with this project because it was silly and ended up being a lifesaver. Without this email on everyones phone in an easy to read format, the trip would have been much more chaotic. On top of that, even though I sent it, all the groomsmen still asked me where we were going next... Like cmon, did you not read the email?