Last modified: Mar. 22, 2010
Contents
1 - Summary
2 - Msmtp installation
3 - Msmtp configuration
4 - Example shell script
1 - Summary
This guide will show how to send emails for system events using msmtp in
FreeBSD. Msmtp is an SMTP client used to send email. This has been tested in
FreeBSD 7.2 and 8.0.
2 - Msmtp installation
Install the msmtp package.
# sudo pkg_add -r msmtp
Password:
3 - Msmtp configuration
Find where the msmtp application was installed to.
# pkg_info -L msmtp-* | grep bin
/usr/local/bin/msmtp
Find where the configuration file should be put.
# grep msmtp.conf /usr/local/bin/msmtp
# pkg_info -L msmtp-* | grep msmtp.conf
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 /usr/local/etc/msmtp.conf
Password:
# sudo chmod 600 /usr/local/etc/msmtp.conf
Password:
# sudo vi /usr/local/etc/msmtp.conf
Password:
4 - Example shell script
Here is an example shell script that sends an email.
#!/bin/sh
hostname=/bin/hostname
host=`$hostname -s`
date=/bin/date
current_day=`$date +%m/%d/%y`
current_time=`$date +%H:%M:%S`
printf=/usr/bin/printf
from="Test <noreply@test.com>"
recipient="testuser@test.com"
#recipient="testuser1@test.com,testuser2@test.com"
msmtp=/usr/local/bin/msmtp
msmtp_config=/usr/local/etc/msmtp.conf
body="This is a test."
subject="Test sent from $host [$current_day $current_time]"
$printf "From: $from\nTo: $recipient\nSubject: $subject\n\n$body" | $msmtp --file=$msmtp_config -t
exit 0
|