Konstantin Tutsch

Home

DNF Automatic – Send Emails via a SMTP Authenticated Server


This short post explains how to use curl as an email client with SMTP Authentication support for DNF Automatic.

This can be useful when an email server does not accept emails from a self-hosted mail server.

Curl

Create this script somewhere:

#!/bin/bash

FROM="${1}"
TO="${2}"
SUBJECT="${3}"
BODY="$(cat /dev/stdin)"

curl \
    --ssl-reqd \
    --url "smtps://smtp.example.com:465" \
    --user "username:password" \
    --mail-from "${FROM}" \
    --mail-rcpt "${TO}" \
    --header "Subject: ${SUBJECT}" \
    --header "From: ${HOSTNAME} <${FROM}>" \
    --header "To: Administrator <${TO}>" \
    --form '=(;type=multipart/mixed' --form "=$BODY;type=text/plain" --form '=)'

DNF Automatic

Edit your DNF Automatic configuration to use command_email as it's emitter.

Define these options in [command_email]:

command_format = "/root/dnfmail.sh {email_from} {email_to} {subject}"
stdin_format = "{body}"
email_from = server@example.com
email_to = you@example.com

Subscribe via RSS

Tags: Linux, Self-hosting

© Konstantin Tutsch: CC BY-SA 4.0Disclaimer, Privacy