Skip to content
This repository has been archived by the owner on Aug 28, 2019. It is now read-only.

cdlib/SES-mailer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SES-mailer design notes

Central server

Pro:

  • overlapping bounce - minimal but real
  • can do centralized stats on who/what is being sent
  • one place to do credential rotation
  • doesn't interfere with client app's gem dependencies
  • can hit it from cattle machines

Con:

  • have to keep an eye on the server, maintain it
  • more code (for API wrapper)
  • have to manage set of API keys

Just a Gem Pro:

  • simple
  • decentralized

Con:

  • lots of credential sets

note: make it easy to port

API endpoint:

  • sendEmail(apiKey, emailName, senderAddr, recipAddrs, subject, body) => { sent: true|false, reason: bouncing|complained|error }
  • checkStatus(apiKey, emailAddr) => { status: new|ok|bouncing|complained }
  • getStats(apiKey, startTime, endTime) => { sent: n, permBounced: n, tempBounced: n, complained: n }

Martin todo:

  • Try this as a graphql schema
  • Develop a db schema
  • Create the resources in the sandbox

Brian todo:

  • Create github repo with a tiny sinatra app
  • Work on S3 traversal and parsing

DB schema:

  • Services
    • Name
    • API Key
    • email_regex
  • Bounces
    • email
    • datetime
    • kind
    • service
  • Emails
    • recipient
    • sender
    • template
    • service
    • subject
    • datetime

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages