14.08.2016, 11:28
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.
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()