Giter Club home page Giter Club logo

happy_to's Introduction

HappyTo: No more "sad bcc"

What's a sad bcc, you ask? It's when you want to send an email a list of people:

  • who you'd prefer not to see each other's email addresses
  • who you want to still feel special
  • who you want to customize a piece of the email for

So, what does HappyTo do then? I'd be happy to tell you. Basically, all of those things. Remember the days of mail merge? It's that, but with Gmail and Google Spreadsheets.

HappyTo Screenshot

You just:

  1. Create a Google Spreadsheet with at least an "email" column. You can create other columns to customize what will go in the email each person receives (columns should be lower case).

  2. Publish the spreadsheet

  3. Export your Gmail user name and password locally

     export GMAIL_USERNAME = [email protected]
     export GMAIL_PASSWORD = kazam
     # feel free to put a space in front of those commands so they don't get stuck in your history
    
  4. Grab and start the app

     git clone https://github.com/nahurst/happy_to.git
     cd happy_to
     bundle install
     rake db:migrate
     rails s
     http://localhost:3000
    
  5. Enter your spreadsheet url. For example:

     https://docs.google.com/spreadsheet/pub?key=0AuI4VolCrNFLdFJRZXJWbGowNDZVM2NXMm1faGJVd0E&output=html
    
  6. Enter a subject template. You may use any column name as a Mustache template variable. Ex:

     Great to see you yesterday {{name}}
    
  7. Enter a body template. You may use any column name as a Mustache template variable. Ex:

     <p>Hi {{name}},</p>
     <p>I'm happy to tell you I'm using HappyTo to send an email to you at {{email}}.</p>
     <p>It was great to see you in your movie, {{movie}}. Gotta love the 90s!</p>
    

Kazaam! Your emails are sent.

What's under the hood

HappyTo uses a few different technologies:

What's next?

  • Allow email recipients to click links to answer simple questions like: are you coming to my event?
  • As the front end expands, use a single-page framework like Ember or Backbone instead of the existing lightweight option.
  • Include explicit test emails before sending all emails (it's currently handled by you managing your own spreadsheet).

Why don't you host this for me?

A few reasons:

  • You don't get between a dog and it's bone, and you don't get between a techie and their Gmail password.
  • I don't want to deal with spam-related issues. This is meant for personal use. Use something else to send out your shake weight emails. Gmail will cap you at about 200 bulk emails per day anyway.

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.