Coder Social home page Coder Social logo

brydzu / thunder-mail Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tzelon/thunder-mail

0.0 1.0 0.0 97 KB

Thunder-Mail, an open source transnational emails API.

Home Page: https://thunder-mail-website.herokuapp.com

License: Apache License 2.0

Dockerfile 0.67% JavaScript 99.33%

thunder-mail's Introduction

Thunder-Mail LICENSE.txt Gitter

| Website | API Reference | Getting Started Guide |

What is Thunder Mail?

Thunder Mail is an open source app for sending millions of emails using API for as cheaply as possible.

Send millions of emails at $0.10 per 1000 emails.

Start sending emails withing 5 minutes quick start

Checkout developers section in our website Thunder-Mail Developers for more detailed information and guides, on how to use Thunder-Mail

Benefits

Integrate and deliver via API in 5 minutes or less.

Our APIs provide a customizable integration approach for your transactional email.

Robust and reliable delivery.

Gain peace of mind using the power of Amazon SES to send your emails reliably.

Real-Time monitoring.

With each click and open tracked alongside the bounces and unsubscribes, you’ll be able to monitor the performance of each and every email.

Transactional email templates.

Send highly targeted emails without worrying about dangerous deploys or bloated code. With native support for Handlebars syntax dynamic templating, you can send multiple templates using our APIs.

Compare to SendGrid

Sendgrid-vs-SES
Read more

Getting Started

Heroku 1-Click Deploy

Deploy

You will have to configure the following at Heroku config vars after the deployment and restart the dynamo: SES_SECRET_ACCESS_KEY, SES_REGION, SES_EMAIL_ADDRESS, SES_ACCESS_KEY_ID, DOMAIN

Setting up Thunder Mail (docker)

Retrieving AWS credentials

mail-for-good did a well documented and explained guide on how to get AWS credentials here Follow their guidance for getting AWS Access Key & Secret Access Key

Installing Docker

Docker is a great tool for automating the deployment of Linux applications inside software containers We will use Docker to deploy thunder-mail as a hustle-free app.

Follow these instruction to install docker.

Installing Thunder-Mail

Clone the repository.

git clone https://github.com/Circle-gg/thunder-mail.git

Navigate into the cloned directory.

cd thunder-mail

Create environment file.

vi .env

Sample .env file

# API key encryption secret (16 chars length)
ENCRYPTION_SECRET=

# AWS SES configuration - as we extracted in the previous section.
SES_ACCESS_KEY_ID=
SES_SECRET_ACCESS_KEY=
SES_REGION=

# The email address that emails will be sent from.
SES_EMAIL_ADDRESS=

Start the Docker file.

sudo docker-compose up

Quick Start

After you have deployed Thunder-Mail app either locally or on a cloud instance and configured your .env file

Use this code to send your first email.

const rp = require('request-promise');

let options = {
    method: 'POST',
    uri: 'http://localhost:8080/api/email',
    headers: {
        authorization: 'Bearer AAAAAA-AAAAAA-AAAAAA-AAAAAA',
        'content-type': 'application/json'
    },
    body: {
        source: '[email protected]',
        destination: {
            to: ['[email protected]', '[email protected]'],
            cc: ['[email protected]', '[email protected]'],
            bcc: ['[email protected]', '[email protected]'],
            subject: 'Hi, Welcome to {{name}}',
            templateData: { name: 'Thunder-Mail' }
        },
        message:
            {
                subject: 'default subject',
                body:
                    {
                        text: 'default text',
                        html: 'Hello, <a href=\'google.com\' target=\'_blank\'>Google.com</a>'
                    }
            }
    },
    json: true
};

rp(options)
    .then(function (parsedBody) {
        // POST succeeded...
    })
    .catch(function (err) {
        // POST failed...
    });

Special thanks to mail-for-good for the inspiration to build and open source Thunder-Mail

thunder-mail's People

Contributors

roncoco avatar tzelon avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.