restmail is a sendmail-compatible CLI using gmail & outlook rest APIs. It can be used for email automation, notifications and with git send-mail for sharing patches.
restmail requires only minimal authorization scope to send mail. No access to reading or deleting mail is needed.
# install to ~/go/bin ($GOPATH)
go install github.com/tonymet/restmail@latest
Initial setup is done once / provider. This configures oauth2 clientID & Secret
[email protected]
CLIENT_ID=xxxxxx
CLIENT_SECRET=yyyy
restmail -configClient -provider gmail -clientId "${CLIENT_ID}" \
-clientSecret "${CLIENT_SECRET}" -f "${FROM}"
Once provider config is set up above, you need to do the oauth flow through a web browser. Setup is only done once or if the tokens are invalidated.
[email protected]
restmail -setup -provider gmail -sender "${FROM}"
When this is complete, your auth-token & refresh-token are saved and refreshed automatically.
[email protected]
[email protected]
[email protected]
echo "subject: test subject\n\ntest messagee" | go run . -f "${FROM} -provider gmail "${TO}" cc:"${CC}"
[sendemail]
smtpServer = /home/USERNAME/go/bin/restmail
smtpServerOption = [email protected]
smtpServerOption = -provider
smtpServerOption = gmail
- sendgmail & gmail-oauth-tools send mail via sendmail-compatible CLI to google via SMTP
.png)

