Improvements to mail template.
This commit is contained in:
@@ -9,15 +9,19 @@ import os
|
|||||||
from platform import node
|
from platform import node
|
||||||
from email.utils import make_msgid
|
from email.utils import make_msgid
|
||||||
|
|
||||||
## Setup variables
|
## Setup basic variables
|
||||||
|
|
||||||
HOSTNAME = node()
|
HOSTNAME = node()
|
||||||
|
|
||||||
recivers = ["example@example.com", "example2@example.com"]
|
recivers = ["example@example.com", "example2@example.com"]
|
||||||
subject = f"Backup on \"{HOSTNAME}\", for SERVICE complete."
|
subject = f"Backup on \"{HOSTNAME}\", for SERVICE complete."
|
||||||
|
|
||||||
|
## here is a good place to add any aditional data you want to report, like system utilisation.
|
||||||
message = f"Result of backup on server {HOSTNAME}\n"
|
message = f"Result of backup on server {HOSTNAME}\n"
|
||||||
|
|
||||||
|
|
||||||
|
## LASTLOG is the path defined in backup.env, this is read and put in the message.
|
||||||
|
|
||||||
if "LASTLOG" not in os.environ:
|
if "LASTLOG" not in os.environ:
|
||||||
print("No logfile found, please set environment variable LASTLOG to the borg logfile")
|
print("No logfile found, please set environment variable LASTLOG to the borg logfile")
|
||||||
exit(5)
|
exit(5)
|
||||||
@@ -29,7 +33,6 @@ with open(logfile, "r") as log:
|
|||||||
message += line
|
message += line
|
||||||
|
|
||||||
## Load mail config from secrets file.
|
## Load mail config from secrets file.
|
||||||
|
|
||||||
config = configparser.ConfigParser()
|
config = configparser.ConfigParser()
|
||||||
config.read('/home/adam/scripts/secrets.env')
|
config.read('/home/adam/scripts/secrets.env')
|
||||||
|
|
||||||
@@ -46,7 +49,9 @@ def send_email(reciever, sender, subject, message):
|
|||||||
server.login(sender, server_pass)
|
server.login(sender, server_pass)
|
||||||
|
|
||||||
## Yes we build the header entry for entry, this is done for readability.
|
## Yes we build the header entry for entry, this is done for readability.
|
||||||
|
## The header has all this extra infomation to make the mail relays happy and not trigger any antispam.
|
||||||
|
## We want to be nice.
|
||||||
|
## Don't mess with anything (like remove tailing newline) but the sender/reciever/subject unless you really know what you are doing.
|
||||||
header = ""
|
header = ""
|
||||||
|
|
||||||
header += f"From: {sender}\n"
|
header += f"From: {sender}\n"
|
||||||
@@ -60,11 +65,15 @@ def send_email(reciever, sender, subject, message):
|
|||||||
header += "Content-Disposition: inline\n"
|
header += "Content-Disposition: inline\n"
|
||||||
header += "Content-Transfer-Encoding: 8bit\n"
|
header += "Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
## And now we make the payload.
|
## And now we make the payload and send our email.
|
||||||
|
msg = f"{header}\n{message}"
|
||||||
msg = f"{header}\n{message}" # The /n separates the message from the headers
|
|
||||||
server.sendmail(sender, receiver, msg.encode("utf-8"))
|
server.sendmail(sender, receiver, msg.encode("utf-8"))
|
||||||
|
|
||||||
|
## Close connection and return any errors.
|
||||||
|
return server.quit()
|
||||||
|
|
||||||
|
|
||||||
|
## Here we trigger the sending of mail(s)
|
||||||
for receiver in recivers:
|
for receiver in recivers:
|
||||||
send_email(receiver , sender, subject, message)
|
send_email(receiver, sender, subject, message)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user