serienrecorder icon indicating copy to clipboard operation
serienrecorder copied to clipboard

[Feature request] Senden von eMails

Open MegaV0lt opened this issue 2 years ago • 0 comments

Wäre schön, wenn der SR bei z.B. Timerkonflikten oder anderen Problemen eine Mail senden würde. Idealerweise anpassbar.

Mit Python sollte das relativ einfach gehen. Beispiel:

####### SMTP Section ############
if not SMTPSERVER: quit()  # Nur wenn SMTPSERVER gesetzt ist

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders

msg = MIMEMultipart()

msg['From'] = FROMADRESS ; msg['To'] = TOADRESS
msg['Subject'] = MAIL_SUBJECT

body = MAIL_BODY
for var in RESULT_STR:
  body = str(body) + str(var) + '\n'

msg.attach(MIMEText(body, 'plain'))

if LOG_FILE:
  filename = after(LOG_FILE, '/')  # Dateiname ohne Pfad
  attachment = open(LOG_FILE, 'rb')
  part = MIMEBase('application', 'octet-stream')
  part.set_payload((attachment).read())
  encoders.encode_base64(part)
  part.add_header('Content-Disposition', 'attachment; filename= %s' % filename)
  msg.attach(part)

# Example: Server Address and TCP Port - Exmaple: '192.168.1.1' , 25
server = smtplib.SMTP(SMTPSERVER, SMTPPORT)
server.starttls()

# Server verlangt Autentification (Nur wenn SMTPPASS gesetzt ist)
if SMTPPASS: server.login(FROMADRESS, SMTPPASS)

text = msg.as_string()
server.sendmail(FROMADRESS, TOADRESS, text)
server.quit()

MegaV0lt avatar Sep 14 '22 15:09 MegaV0lt