From e966207aec12b61b64c09ba839e8ef6736913bda Mon Sep 17 00:00:00 2001 From: Dennis Reimann Date: Sat, 27 Jun 2020 21:17:40 +0200 Subject: [PATCH 1/4] Allow to configure mail notification host --- home.admin/config.scripts/blitz.notify.sh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/home.admin/config.scripts/blitz.notify.sh b/home.admin/config.scripts/blitz.notify.sh index fbb09b4de..198e76caa 100755 --- a/home.admin/config.scripts/blitz.notify.sh +++ b/home.admin/config.scripts/blitz.notify.sh @@ -33,7 +33,11 @@ if ! grep -Eq "^notifyMailTo=.*" /mnt/hdd/raspiblitz.conf; then fi if ! grep -Eq "^notifyMailServer=.*" /mnt/hdd/raspiblitz.conf; then - echo "notifyMailServer=mail@example.com" | sudo tee -a /mnt/hdd/raspiblitz.conf >/dev/null + echo "notifyMailServer=mail.example.com" | sudo tee -a /mnt/hdd/raspiblitz.conf >/dev/null +fi + +if ! grep -Eq "^notifyMailHostname=.*" /mnt/hdd/raspiblitz.conf; then + echo "notifyMailHostname=$(hostname)" | sudo tee -a /mnt/hdd/raspiblitz.conf >/dev/null fi if ! grep -Eq "^notifyMailUser=.*" /mnt/hdd/raspiblitz.conf; then @@ -81,13 +85,13 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then # # The person who gets all mail for userids < 1000 # Make this empty to disable rewriting. -root=${notifyMailTo} +Root=${notifyMailTo} # hostname of this system -hostname=${hostname} +Hostname=${notifyMailHostname} # relay/smarthost server settings -mailhub=${notifyMailServer} +Mailhub=${notifyMailServer} AuthUser=${notifyMailUser} AuthPass=${notifyMailPass} UseSTARTTLS=YES @@ -141,7 +145,7 @@ if [ "$1" = "send" ]; then elif [ "${notifyMethod}" = "slack" ]; then /home/admin/python3-env-lnd/bin/python3 /home/admin/XXsendNotification.py slack -h "$2" else - echo "unknown notification method - check /mnt/hdd/raspiblitz.con" + echo "unknown notification method - check /mnt/hdd/raspiblitz.conf" fi exit 0 From 1e5201858ebb20472db8d7cafdd27a5b6f535e84 Mon Sep 17 00:00:00 2001 From: Dennis Reimann Date: Sat, 27 Jun 2020 22:13:30 +0200 Subject: [PATCH 2/4] Allow to specify additional mail arguments --- home.admin/config.scripts/blitz.notify.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home.admin/config.scripts/blitz.notify.sh b/home.admin/config.scripts/blitz.notify.sh index 198e76caa..c5d5e09a1 100755 --- a/home.admin/config.scripts/blitz.notify.sh +++ b/home.admin/config.scripts/blitz.notify.sh @@ -138,9 +138,9 @@ if [ "$1" = "send" ]; then /home/admin/python3-env-lnd/bin/python3 /home/admin/XXsendNotification.py ext ${notifyExtCmd} "$2" elif [ "${notifyMethod}" = "mail" ]; then if [ "${notifyMailEncrypt}" = "on" ]; then - /home/admin/python3-env-lnd/bin/python3 /home/admin/XXsendNotification.py mail --cert ${notifyMailToCert} --encrypt ${notifyMailTo} "$2" + /home/admin/python3-env-lnd/bin/python3 /home/admin/XXsendNotification.py mail "${@:3}" --cert ${notifyMailToCert} --encrypt ${notifyMailTo} "$2" else - /home/admin/python3-env-lnd/bin/python3 /home/admin/XXsendNotification.py mail ${notifyMailTo} "$2" + /home/admin/python3-env-lnd/bin/python3 /home/admin/XXsendNotification.py mail "${@:3}" ${notifyMailTo} "$2" fi elif [ "${notifyMethod}" = "slack" ]; then /home/admin/python3-env-lnd/bin/python3 /home/admin/XXsendNotification.py slack -h "$2" From f8e953a0e4a6a55762fbd0c0b96b9a3e58e28f5c Mon Sep 17 00:00:00 2001 From: Dennis Reimann Date: Sat, 27 Jun 2020 22:14:36 +0200 Subject: [PATCH 3/4] Allow to specify mail from header sSMTP requires a [config flag](https://tosbourn.com/allowing-your-own-from-header-with-ssmtp/) to allow setting the header. --- home.admin/XXsendNotification.py | 5 +++-- home.admin/config.scripts/blitz.notify.sh | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/home.admin/XXsendNotification.py b/home.admin/XXsendNotification.py index 0f444f893..1f55bbe33 100644 --- a/home.admin/XXsendNotification.py +++ b/home.admin/XXsendNotification.py @@ -93,6 +93,7 @@ def mail(recipient=None, message=None, subject=None, cert=None, encrypt=False, print("send mail") print("msg: {}".format(message)) print("to: {}".format(recipient)) + print("from: {} <{}>".format(from_name, from_address)) print("subject: {}".format(subject)) print("cert: {}".format(cert)) print("encrypt: {}".format(encrypt)) @@ -103,7 +104,7 @@ def mail(recipient=None, message=None, subject=None, cert=None, encrypt=False, msg_content = [ "To: {}".format(recipient), - 'From: "{} <{}>'.format(from_name, from_address), + 'From: {} <{}>'.format(from_name, from_address), "Subject: {}".format(subject), "", "{}".format(message) @@ -118,7 +119,7 @@ def mail(recipient=None, message=None, subject=None, cert=None, encrypt=False, msg = EmailMessage() msg['Subject'] = "{}".format(subject) - msg['From'] = '"{} <{}>'.format(from_name, from_address), + msg['From'] = '{} <{}>'.format(from_name, from_address), msg['To'] = recipient msg.set_payload(message) diff --git a/home.admin/config.scripts/blitz.notify.sh b/home.admin/config.scripts/blitz.notify.sh index c5d5e09a1..63a00404e 100755 --- a/home.admin/config.scripts/blitz.notify.sh +++ b/home.admin/config.scripts/blitz.notify.sh @@ -95,6 +95,7 @@ Mailhub=${notifyMailServer} AuthUser=${notifyMailUser} AuthPass=${notifyMailPass} UseSTARTTLS=YES +FromLineOverride=YES EOF # edit raspi blitz config From 8baf05bafb7945960a96daef2ce19213ad34289e Mon Sep 17 00:00:00 2001 From: Dennis Reimann Date: Mon, 29 Jun 2020 19:01:38 +0200 Subject: [PATCH 4/4] Allow email body to contain emoji --- home.admin/XXsendNotification.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home.admin/XXsendNotification.py b/home.admin/XXsendNotification.py index 1f55bbe33..70e10c3c8 100644 --- a/home.admin/XXsendNotification.py +++ b/home.admin/XXsendNotification.py @@ -107,7 +107,7 @@ def mail(recipient=None, message=None, subject=None, cert=None, encrypt=False, 'From: {} <{}>'.format(from_name, from_address), "Subject: {}".format(subject), "", - "{}".format(message) + "{}".format(message.encode('utf8')) ] with open(cert, 'rb') as pem: @@ -122,7 +122,7 @@ def mail(recipient=None, message=None, subject=None, cert=None, encrypt=False, msg['From'] = '{} <{}>'.format(from_name, from_address), msg['To'] = recipient - msg.set_payload(message) + msg.set_payload(message.encode('utf8')) msg_to_send = msg.as_bytes() # send message via e-Mail