Packetwatch.net

Email notifications using Msmtp in Mythbuntu



Last modified: Jun. 3, 2012

Contents
1 - Summary
2 - Dependencies
3 - Msmtp installation
4 - Msmtp configuration
5 - Example shell script


1 - Summary

This guide will show you how to send emails for system events using msmtp in
Mythbuntu. Msmtp is an SMTP client used to send email. This has been tested in
Mythbuntu 12.04.


2 - Dependencies

Install the apt-file package.
# sudo apt-get install apt-file
[sudo] password for user:


3 - Msmtp installation

Install the msmtp package.
# sudo apt-get install msmtp
[sudo] password for user: 


4 - Msmtp configuration

Find where the msmtp application was installed to.
# apt-file update
# apt-file list msmtp | grep ^msmtp: | awk '{print $2}' | grep bin
/usr/bin/msmtp

Find where the configuration file should be put.
# /usr/bin/msmtp --version | grep msmtprc
System configuration file name: /etc/msmtprc
User configuration file name: /home/testuser/.msmtprc

You can create your own configuration file. Here is a simple example.
  account default
  host mail.test.com
  port 25
  protocol smtp
  from noreply@test.com
  syslog LOG_MAIL
# sudo touch /etc/msmtprc
[sudo] password for user: 
# sudo chmod 600 /etc/msmtprc
[sudo] password for user: 
# sudo vi /etc/msmtprc
[sudo] password for user: 


5 - Example shell script

Here is an example shell script that sends an email.

#!/bin/sh

printf=/usr/bin/printf
#from=noreply@test.com
from="Test <noreply@test.com>"
recipient="testuser@test.com"
#recipient="testuser1@test.com,testuser2@test.com"
hostname=/bin/hostname
host=`$hostname -s`
subject="Test sent from $host"
date=/bin/date
current_time=`$date +%H:%M`
current_day=`$date +%m/%d/%y`
body="This is a test. It was sent at $current_time on $current_day."
msmtp=/usr/bin/msmtp
msmtp_config=/etc/msmtprc

$printf "From: $from\nTo: $recipient\nSubject: $subject\n\n$body" | $msmtp --file=$msmtp_config -t
exit 0


Last modified: Thu Jan 1 00:00:00 1970 UTC
Packetwatch Research 2002-2017.