send.Better()

Giving Email a REST

Matthew Clemente

Isn't Email Dying?

The report of my

death has been grossly

exaggerated.

Nearly half of us can’t even use the bathroom without checking email... In sum, Americans are addicted to email.

Teens and younger Millennials told us that they have email addresses... because "It's a fact of everyday life"

Adestra Consumer Digital Usage & Behavior Study 2017

Adobe Digital Insights Email Survey 2016

Who?

Had we but world enough and time

Transactional

Marketing

Messages to groups of users that are not triggered by a specific action on their part. Examples include newsletters, invitations, announcements, and promotions.

Email triggered by a user action or an action they were the target of. Directed to individuals,   not groups. Transactional emails are part of an interaction.

Transactional Emails

  • Account creation

  • Email verification

  • Password reset

  • Requested updates

  • Digests and reports

  • Receipts and invoices

  • Trial expiration

  • User invitation

  • Order confirmation

  • Comment notifications

Let's Send Some Email!

I'm sorry...

Best Practices: DNS

SPF: Sender Policy Framework

Best Practices: DNS

DKIM:  DomainKeys Identified Mail

Let's Send Some Email

Fundamental Advantages

  • Easy integration

  • Logging

  • Reporting/analytics

  • Email templates

  • Improved deliverability

(of API-Based Email)

Example

SPF + DKIM... fail

Best Practices: DNS

DMARC: Domain-based Message Authentication, Reporting & Conformance

Best Practices: DNS

 DMARC Resources

You should set up a DMARC policy for your domain. You can send DMARC compliant emails from all the email providers discussed.

ColdFusion Mail Settings

App specific SMTP server

Dynamic SMTP servers

Example

Email Is An Interface

Email is a fundamental,

inescapable point of interaction.

Interaction implies an interface.

Basecamp Comments

Use/Activity Summaries

Slack Magic Link

You can build a better email interface for your application.

Superpowered Magic Legos

Dynamic and Interactive

  • Ideal for containers

  • Inbound email parsing

  • Event Triggers

  • Webhooks

  • Extensibility

Inbound + API

Inbound + API

Event Trigger Webhook

Practical Applications

  • Invoice Bounce

  • Trial Expiration Open

  • Notification Syncing

  • Resource Popularity

  • Open Rate Feedback

  • Spam/Bounce/Block Monitor

So which is best?

?

Generalized Use Cases

Low Costs

+Marketing

High Deliverability

Startup friendly

Developer friendly

Price Is What You Pay

Value Is What You Get

Message Size

Inbound Limit Outbound Limit
30 MB 10 MB
25 MB 25 MB
35 MB 10 MB
20 MB 20 MB
20 MB 30 MB

Data Storage (days)

Inbound Messages Email Logs
manual manual
3 2 (free) / 30 (paid)
45 45
not stored 10 day
not stored 3 (free) / 30 (paid)

Webhooks

Data Post Type Basic Auth
SNS Yes
Form No
JSON Yes
JSON Yes
Form No

Additional Features

Scheduled Delivery A/B Testing
No No
Yes No
No No
Yes Yes
Yes Marketing Only

send.Better()

Giving Email a REST

Matthew Clemente

  • Go to the ColdFusion Summit mobile app
  • Find this session
  • Make sure you have registered for the session
  • Select the Survey link at the bottom of the session
  • Each survey has a chance to win!

Please submit your survey for a chance to win!

Sources of Data and Quotes for Growth of Email

Sources of Data and Quotes for Growth of Email

send.Better() - Giving Email a REST

By mjclemente

send.Better() - Giving Email a REST

Presentation for CFSummit 2018

  • 5,512