How to send email attachments with Amazon S3

How to Send Emails with Attachments Using Amazon SES and S3

In this tutorial, you'll get a step-by-step walkthrough of how to add attachments to your transactional emails using Amazon SES and S3. We'll also show you how to integrate your email provider with Courier to manage your email templates and delivery.

By Aydrian Howard

December 02, 2020

How To Send Emails With Ruby Header

How to Send Email with Ruby

In this tutorial, we’ll show you an easy way to add email functionality to your Ruby app. You’ll learn how to set up your email service, design your email template, and test and preview your email before publishing it to production. You’ll also find sample code you can use to quickly start sending in your Ruby program.

By Aydrian Howard

December 01, 2020

GraphQL Header

Why We Are Moving off REST and Implementing GraphQL

We’re excited to be moving Courier’s internal infrastructure and eventually our customer-facing APIs to GraphQL. In this blog post I’ll talk about why we’ve decided to make the change from REST and what our plans are for the rollout.

By Seth Carney

November 17, 2020

Announcing the Courier Destination for Segment

Announcing the Courier Destination for Segment – Send Multi-Channel Notifications With No Code

We’re excited to announce the Courier destination for Segment is publicly available. Product teams can now send targeted notifications to users on any channel – without shipping any code. 

By Danny Douglass

November 10, 2020

twilio and sendgrid header

How to Add a Direct Twilio SMS Integration With Sendgrid Emails

In this white paper, we share the strategies we have discovered through our work in building direct integrations and explain how to add SMS with Twilio to an existing SendGrid integration. We'll help you think through the various questions involved and set up your infrastructure.

By Troy Goode

October 27, 2020

API Post Header

What to consider when standardizing your REST APIs

Recently, we’ve been working on standardizing some aspects of Courier’s REST APIs, such as naming conventions and HTTP status response codes. I thought I’d share some of our guiding principles and learnings that might be useful for your team as well.

By Seth Carney

October 06, 2020

notification status header

Standardizing Message Status Across SendGrid, Twilio, Slack, Firebase, and More

I wanted to share how statuses work today in Courier and some of the things we thought through while building a single source of truth across integration providers. I’ll also explain how we provide open tracking for emails and click-through tracking across all channels.

By Tony Nguyen

September 17, 2020

PM Post Header

9 Ways Product Management Expectations Differ from Reality

As a former product manager, bright-eyed and bushy-tailed out of college, I remember clearly coming into the role with a set of rosy expectations that did not align at all with reality. I want to share my experience of what product was like for me, and a smattering of the various ironies that I experienced on the job.

By Yehong Zhu

September 01, 2020

Shadow Dom Header

How to Use The Shadow Dom To Isolate Styles on a DOM That Isnt Yours

Shadow DOM is an API for DOM encapsulation. It's perfect for when you need to embed a widget in a DOM you don't have access to.

By Riley Napier

August 18, 2020