Cron e-mail versturen via XS4ALL

nerd alertHoe gemakkelijk zou het zijn, om je homeserver een e-mailtje te laten versturen als er iets mis is? Vandaag configureer ik uitgaande e-mail via xs4all.

sSMTP

Het begint met het installeren van sSMTP (uit de repositories) en dat is niet moeilijk:

sudo apt-get install ssmtp

Daarna moet je nog het een en ander configureren. Het onderstaande heb ik ingesteld om het werkend te krijgen, al is dit vast en zeker niet de beste manier van configureren en op deze manier is de verbinding naar xs4all nog niet beveiligd tegen afluisteren.

/etc/ssmtp/ssmtp.conf

root=«e-mailadres»
hostname=xs4all.nl
mailhub=smtp.xs4all.nl
#UseTLS=NO
#UseSTARTTLS=NO

Je hoeft het wachtwoord nergens in te vullen: dat is niet nodig om mail te versturen via een xs4all account vanaf je eigen aansluiting en dat is een groot voordeel, want als je mail zou willen versturen via gmail, dan zal je je gmail wachtwoord leesbaar in dit configuratiebestand moeten zetten.

/etc/ssmtp/revaliases

root:«e-mailadres»:smtp.xs4all.nl

Dit bestand bevat het afzenderadres dat sSMTP doorgeeft aan de provider. Dit moet je configureren voor elke gebruiker die sSMTP mag gebruiken; als dit niet geconfigureerd is, krijgt de user voor wie het afzenderadres niet geconfigureerd is van xs4all deze foutmelding:

smtp: 550 5.1.1 No such user

/etc/passwd

Standaard gebruikt sSMTP als afzendernaam de namen zoals ze in /etc/passwd zijn vastgelegd. Als je in je e-mailbox straks een leesbare naam als afzender wilt zien, gebruik je bijvoorbeeld de onderstaande toverspreuk om de naam van de gebruiker root te veranderen:

sudo chfn -f "root at $HOSTNAME" root

Versturen

Direct nadat je klaar bent met configureren, zullen alle teksten die door cron jobs gegenereerd worden al automatisch verstuurd worden naar degene onder wiens naam de cronjob draait (gewoonlijk is dat root). Je kunt ook vanuit een eigen script mail versturen, bijvoorbeeld zo:

ssmtp=/usr/sbin/ssmtp
echo -e "To: root <>\nSubject: $HOSTNAME suspending\nNo users on $HOSTNAME, suspending with $suspend" | $ssmtp root

Ideeën

Output die je zou kunnen laten versturen vanuit een cronjob:

who

lastb -s yesterday

cat /var/log/auth.log

Een gedachte over “Cron e-mail versturen via XS4ALL

Vertel jouw mening

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s