Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[solved] Automatisierter eMail-Versand / LogFiles
#7
Habs mal bissl umgeschrieben, dass man den dateiname an die funktion übergibt:
Aufruf ist nun in der main()
user und server daten könnte man später als dictonary auch übergeben, um es noch individueller zu machen.


Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Skript zum Exportieren der Kodi-LogFiles von BMWRaspControl an eine selbst festgelegte eMail-Adresse.
# Die Kodi-LogFiles befinden sich in /home/osmc/.kodi/temp/kodi.log

# Falls eMails nicht gesendet werden, dann Hinweis in Zeile fuer TLS beachten!

# LF-Kodi-Export.py

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


def send_log_file(full_file_path):
   # Main-Settings
   Hostname = "BMWRaspControl"

   # eMail-Adressen (Sender/Empfaenger)
   mailSender = "Sender@Provider.de"
   mailReceiver = "Empfaenger@Provider.de"

   # SMTP-Ausgangsserver (Sender)
   smtpUser = "Sender@Provider.de"
   smtpPassword = "AccountPasswort"
   smtpHost = "smtp.provider.de"
   smtpPort = 587

   ###############################################################################
   # Time/Date Recording for Filename
   fndate = "%04i%02i%02i" % (int(time.localtime()[0]), int(time.localtime()[1]), int(time.localtime()[2]))
   fntime = "%02i%02i%02i" % (int(time.localtime()[3]), int(time.localtime()[4]), int(time.localtime()[5]))

   sendMail = 1  # set value to 1 = active, 0 = inactive

   if (sendMail > 0):
       server = smtplib.SMTP(smtpHost, smtpPort)
       server.starttls()  # If TLS authentication is not required set a hash at the beginning of this line
       server.login(smtpUser, smtpPassword)

       msg = MIMEMultipart()
       msg['Subject'] = "RPi LogFile-Export"
       msg['From'] = mailSender
       msg['To'] = mailReceiver

       MailContent = "Die exportierten Kodi-LogFiles befinden sich im Anhang dieser eMail. " + "\n" + "\n" + "__________________________" + "\n" + "Es handelt sich hierbei um eine automatisch generierte E-Mail, die von Ihrem Raspberry Pi (" + Hostname + ") gesendet worden ist."
       msg.attach(MIMEText(MailContent, 'plain'))

       filename = "Log-Export_Kodi_" + Hostname + "_" + fndate + "_" + fntime + ".txt"
       attachment = open(full_file_path, "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)

       server.sendmail(mailSender, mailReceiver, msg.as_string())
       server.quit()


def main():
   send_log_file('/home/osmc/.kodi/temp/kodi.log')

if __name__ == '__main__':
   main()
IBusCommunicator:
Image  <>  Kodi Addon

[Bild: usersignaturpic-14941mspx.jpg]
Zitieren


Nachrichten in diesem Thema
RE: Automatisierter eMail-Versand - von Soheyl - 12.08.2016, 20:52
RE: Automatisierter eMail-Versand - von Soheyl - 12.08.2016, 21:16
RE: Automatisierter eMail-Versand - von Soheyl - 14.08.2016, 11:06
RE: Automatisierter eMail-Versand - von harryberlin - 14.08.2016, 11:28
RE: Automatisierter eMail-Versand - von Soheyl - 14.08.2016, 11:49

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste