This is a simple CLI to send batch e-mails using a html-template and a list of recipients.
-
Clone this repository
git clone https://github.com/rvhonorato/gomailer.git cd gomailer
-
Run or build
go run . # or go build ./gomailer
-
Create a template file (e.g.
template.html
)- The template must have a
{{.Name}}
placeholder for the recipient's name
- The template must have a
-
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
-
Define
GMAIL_USER
andGMAIL_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
-
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!"
go test -v