All Projects → saiorama → ses-email-client

saiorama / ses-email-client

Licence: MIT license
Simple, serverless client for AWS SES. With this, you can send/read emails received by SES into S3 without purchasing AWS Workmail. If you only use SES for email marketing, you can also see and preview your SES templates in the browser

Programming Languages

HTML
75241 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
shell
77523 projects

Projects that are alternatives of or similar to ses-email-client

gozeit
GoZeit
Stars: ✭ 19 (-9.52%)
Mutual labels:  s3, cognito
Workshop Donkeytracker
Workshop to build a serverless tracking application for your mobile device with an AWS backend
Stars: ✭ 27 (+28.57%)
Mutual labels:  s3, cognito
Aws Amplify Graphql
Sample using AWS Amplify and AWS AppSync together for user login and authorization when making GraphQL queries and mutations. Also includes complex objects for uploading and downloading data to and from S3 with a React app.
Stars: ✭ 490 (+2233.33%)
Mutual labels:  s3, cognito
0x4447 product s3 email
📫 A serverless email server on AWS using S3 and SES
Stars: ✭ 2,905 (+13733.33%)
Mutual labels:  s3, aws-ses
Aws Mobile React Sample
A React Starter App that displays how web developers can integrate their front end with AWS on the backend. The App interacts with AWS Cognito, API Gateway, Lambda and DynamoDB on the backend.
Stars: ✭ 650 (+2995.24%)
Mutual labels:  s3, cognito
Aws Mobile React Native Starter
AWS Mobile React Native Starter App https://aws.amazon.com/mobile
Stars: ✭ 2,247 (+10600%)
Mutual labels:  s3, cognito
mindav
A self-hosted file backup server which bridges WebDAV protocol with @minio written in @totoval. Webdav ❤️ Minio
Stars: ✭ 64 (+204.76%)
Mutual labels:  s3
noiiice
a serverless blog built on NuxtJS, AWS, serverless framework, and irrational exuberance.
Stars: ✭ 42 (+100%)
Mutual labels:  cognito
backup-repository
Backup storage for E2E GPG-encrypted files, with multi-user, quotas, versioning, using a object storage (S3/Min.io/GCS etc.) and deployed on Kubernetes or standalone.
Stars: ✭ 21 (+0%)
Mutual labels:  s3
qscamel
qscamel is a command line tool to migrate data between different endpoint efficiently.
Stars: ✭ 34 (+61.9%)
Mutual labels:  s3
react-deploy-s3
Deploy create react app's in AWS S3
Stars: ✭ 67 (+219.05%)
Mutual labels:  s3
terraform-aws-cognito-user-pool
Terraform module to create Amazon Cognito User Pools, configure its attributes and resources such as app clients, domain, resource servers. Amazon Cognito User Pools provide a secure user directory that scales to hundreds of millions of users.
Stars: ✭ 65 (+209.52%)
Mutual labels:  cognito
skbn
Copy files and directories between Kubernetes and cloud storage
Stars: ✭ 68 (+223.81%)
Mutual labels:  s3
flutter aws s3 client
A simple, unofficial AWS S3 client
Stars: ✭ 24 (+14.29%)
Mutual labels:  s3
s3-credentials
A tool for creating credentials for accessing S3 buckets
Stars: ✭ 138 (+557.14%)
Mutual labels:  s3
squirrelmail
🌰️🐿️ SquirrelMail GitHub Repository (PHP 7-OK!)
Stars: ✭ 42 (+100%)
Mutual labels:  email-client
nano-s3
Upload a file to S3.
Stars: ✭ 45 (+114.29%)
Mutual labels:  s3
cognito-go-auth
Simple library to sign requests using cognito Google federated authentication.
Stars: ✭ 16 (-23.81%)
Mutual labels:  cognito
lamba-thumbnailer
AWS S3 Video Thumbnailer with Lambda
Stars: ✭ 21 (+0%)
Mutual labels:  s3
data-transfer-hub
Seamless User Interface for replicating data into AWS.
Stars: ✭ 102 (+385.71%)
Mutual labels:  s3

As of 18-NOV-2021, this repository is no longer actively supported. Here's my other repo which can be used as an AWS SES client for your domain.

DEPRECATION - This project is getting sunsetted soon. See above for link to my other similar project.

======================

This project aims to make it a bit easier to work with AWS SES (Simple Email Service). For technical details, scroll to the bottom of this page.

# Why do we need this?

You can look at AWS SES in two ways -

## SES for Marketing One, SES is a transactional email service. You can use it to run marketing campaigns and broadcast messages to people interested in hearing from you. A vast majority of SES customers use SES this way. This use of SES is similar to using Mailchimp or SendGrid.

To be most effective, emails must to look good and should be built for scale. This is where email templates come in. You design a beautiful email, then convert it into a template by adding placeholders for customer specific data and thus, achieve email at scale.

The other aspect of using SES this way is that you would like to know how your broadcast message did. How many people saw it? How many interacted with it? Did some emails bounce or were they all delivered? Are people complaining about receiving spam from you?

Such performance metrics are the backbone of any transactional email service.

Unfortunately, SES has very mediocre offerings for templating and viewing marketing performance. For example, it is not possible to preview your email templates in SES. Neither can you test your email with some dummy data to see how the email looks.

### What can this project do right now? With this project, I have tried to make it easier for SES customers to view their templates, find template placeholders, and preview it right in the browser without having to send themselves emails.

I have also surfaced some basic stats about your email campaigns - how many emails were sent? Any bounces? Any complaints? Little things like that. If you have other gripes about transactional SES, let me know by raising an issue.

## SES as your inbox

The other,less common use case for SES is as your personal inbox or as a mail provider for your company. Note that SES itself does NOT provide any help to achieve this. They don't even give us a mail server from where we can download our emails. Projects like this (Arithmetric) allow you to use SES to send and receive SES emails in Gmail or any other mail client.

~While such tools exist, I am building this project to be truly self contained. I don't want to use a third party client like Gmail to send and receive email. This tool is fully serverless and runs only on the user's browser from where it interacts with AWS to retrieve emails (from S3) and ~

### What can this project do right now?

Right now, I can do the following things with this client:

1. sort received emails by date and time 2. authenticate the user using AWS Cognito. Force log in if the user is not logged in. 3. retrieve the list of emails received today and yesterday 4. retrieve the content of each email from S3 5. convert the raw email into human readable pretty HTML or Text 6. highlight emails as SPAM or containing a virus 7. show user email content 8. reply-all to everyone in TO and CC. Write rich text using markdown. 9. auto-populate the FROM address depending on the domain 10. compose new rich text (markdown) emails 11. get a shareable link for email

My goal is to have a fully functional email client running directly on SES and S3 without having to resort to lambda forwarders or using Gmail as an SMTP client.

### Future plans for SES as my inbox?

I want to build a commenting system around email to make emails more collaborative.

# Technical Details

The demo site for seeing your SES templates, testing out SES templates in your browser, and generally using SES as a marketing tool is at https://zeer0.com/templates

If you want to build your own SES email client, you are welcome to fork this project. 1. to learn how I sort emails by time and date to allow easy retrieval, look at the lambdas directory 2. follow any online tutorials on using Cognito 3. look at this lambda to understand how I retrieve an email's content 4. look at this lambda to understand how I retrieve an email list 5. the javascript inside my-email/index.html handles Cognito, spam/virus highlighting 6. composing rich text/markdown emails is handled using stackedit.io

One thing to note is that my email client makes some assumptions about the location of my S3 bucket and the key path where my received emails reside. Therefore, this code is not truly usable until you tweak params and ensure that your emails sit in an S3 bucket under a key path that makes sense to you.

I'm happy to help anyone who wishes to use this project to build their own SES inbox.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].