Relay email to gmail (msmtp, mailx, sendmail

From Alpine Linux
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Overview

If you're running an alpine from stick and need a way for your program to alert you through a standard gmail account

Install msmtp

# apk add msmtp

Configuration

Create a global configuration:

Contents of /etc/msmtprc

# Set default values for all following accounts. defaults auth on tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt syslog on # Gmail account gmail host smtp.gmail.com port 587 from <your email> user <your gmail account> password <your password> # Set a default account account default : gmail aliases /etc/aliases
Note: Please note I've used the syslog on to send msmtp log to syslog, yet you can use the logfile <log_file_path> if you prefer to log to a file
Note: Please note the aliases /etc/aliases, this will help for mail/sendmail to redirect email to local user (like root) to an external email

Sendmail alias

By default alpine comes with busybox sendmail, msmtp can act as a sendmail alternative including syntax and option, there I create a local.d script to overwrite the busybox link to msmtp.

Contents of /etc/local.d/msmtp-sendmail.start

#!/bin/sh ln -sf /usr/bin/msmtp /usr/bin/sendmail ln -sf /usr/bin/msmtp /usr/sbin/sendmail

Make it executable

# chmod +x /etc/local.d/msmtp-sendmail.start

and run it first time through

# /etc/local.d/msmtp-sendmail.start

Mailx and aliases

Install mailx for program that uses mail (like apcupsd for monitoring UPS events)

# apk add mailx

Create an /etc/aliases file with content:

Contents of /etc/aliases

root: <your external email where all email to root will be sent> default: <default email>

Testing

Test an email, run

echo -e "Subject: Do you love alpine?\nYes, I do!\n"

Note: root only work if you've setup /etc/aliases, otherwise put any email adress you can check instead of root

Saving the configuration

This material needs expanding ...

This does't apply to a static install.

# lbu ci

Hope it helps.