rvhonorato / gomailer

A simple CLI to send templated e-mails

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GoMAILER

License: 0BSD CI Codacy Badge Codacy Badge

This is a simple CLI to send batch e-mails using a html-template and a list of recipients.

Installation

  1. Install go

  2. Clone this repository

    git clone https://github.com/rvhonorato/gomailer.git
    cd gomailer
    
  3. Run or build

    go run .
    # or
    go build
    ./gomailer

Usage

  1. Create a template file (e.g. template.html)

    • The template must have a {{.Name}} placeholder for the recipient's name
  2. Create a recipient list file (e.g. recipients.txt)

    • In each line, the e-mail is captured as with a regular expression, all the rest is considered to be the recipients name
  3. Define GMAIL_USER and GMAIL_PASSWORD system variables, by default it uses gmail as the server; if you want to use another server, you need to change it in the source code.

    • GMAIL_PASSWORD is the app password, not the account password
  4. Execute;

    $ ./gomailer -h
    Usage of ./gomailer:
    -s value
          Subject of the email
    -t value
          HTML template file of the email
    -u value
          user file containing email and name as tab separated values
    
    $ ./gomailer -t template.html -u recipients.txt -s "Hello!"
    

Testing

go test -v

About

A simple CLI to send templated e-mails

License:BSD Zero Clause License


Languages

Language:Go 96.5%Language:HTML 3.5%