initial Commit

This commit is contained in:
hubobel 2025-07-26 16:04:34 +02:00
parent 2b7cb7e8ac
commit a0d4362fef

View file

@ -9,6 +9,120 @@ from email.mime.base import MIMEBase
from email import encoders from email import encoders
import sys import sys
from datetime import datetime from datetime import datetime
import logging
import json
import json
from random import *
def conf():
appname = os.path.basename(sys.argv[0])
appname = appname.replace(".py", ".conf")
absFilePath = os.path.abspath(__file__)
absFilePath = absFilePath.replace(".py", ".conf")
if os.path.isfile(absFilePath) is False:
print(appname + ' scheint es nicht zu geben.')
print('Ich lege eine neue Datei ' + appname + ' an.')
passw = {'mail':
{
"mail_pass": "",
"mail_user": "",
"mail_host": "",
"mail_folder": ""
},
'Telegram':
{
"Chat_ID": "",
"TOKEN": ""
}
}
print(str(appname) + ' bitte entsprechend befüllen.')
with open(absFilePath, 'w') as fp:
json.dump(passw, fp, sort_keys=True, indent=4)
quit()
else:
with open(absFilePath) as file:
passw = json.load(file)
return passw
passw = conf()
absender = ['Alberti', 'Feco', 'Schreinerei Groh', 'Ruesselsheim', 'Wettinerstraße', 'Bestellung_Nr.', 'Rapport vom:'
, 'Datenblatt zu ', 'Zeichnung Nr.', 'DWG-Format', 'Fa. Nogly', 'Siemens', 'Thyssen Elevators'
, 'TÜV', 'der Sachverständige schreibt:', 'Protokoll vom:', 'Jour-Fix Nr.', 'MS-Teams', 'Anfrage'
, 'IG1-2022-', 'HI1-2022-', 'IK-2022']
if not os.path.exists('Post'):
os.makedirs('Post')
empfänger = sys.argv
if (len(empfänger)) != 2:
print('Geben Sie bitte GENAU EINEN Empfänger als Argument an!')
exit()
host = passw['mail']['mail_host']
username = passw['mail']['mail_user']
password = passw['mail']['mail_pass']
smtpServer = passw['mail']['mail_smtp']
smtpPort = 587
sender = username
reciever = empfänger[1]
subject = "Hallo Welt!"
msg = MIMEMultipart()
msg['Subject'] = subject
msg['From'] = sender
msg['To'] = reciever
mail = Imbox(host, username=username, password=password, ssl=True, ssl_context=None, starttls=False)
messages = mail.messages(unread=True)
for (uid, message) in messages:
mail.mark_seen(uid) # optional, mark message as read
bodie = message.sent_from
body = 'von: ' + str(bodie[0]['name']) + ' über: '+ str(bodie[0]['email'])
body = body + ' mit dem Betreff: ' + message.subject
body = body + '\n'
body = body + 'Datum der ursprünglichen Nachricht: ' + message.date
body = body + '\n'
now = datetime.now()
dt_string = now.strftime("%d/%m/%Y %H:%M:%S")
body = body + 'Datum der Jobverarbeitung: ' + dt_string
#print(body)
for idx, attachment in enumerate(message.attachments):
try:
y = (randint(0, len(absender)))
fn_att = (absender[y])
name = time.time()
fn = attachment.get('filename')
root, extension = os.path.splitext(fn)
att_fn = str(name) + str(extension)
att_fn = fn_att + att_fn
print(att_fn)
with open('Post/' + att_fn, "wb") as fp:
fp.write(attachment.get('content').read())
msg = MIMEMultipart()
msg.attach(MIMEText(body, 'plain'))
filename = att_fn
attachment = open('Post/' + filename, 'rb')
part = MIMEBase('application', 'octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename= %s' % att_fn)
msg.attach(part)
server = smtplib.SMTP(smtpServer, 587)
server.starttls()
server.login(username, password)
msg['Subject'] = str(fn) + ' to ' + str(name)
text = msg.as_string()
server.sendmail(username, reciever, text)
server.quit()
except:
print(traceback.print_exc())
mail.delete(uid)
for filename in os.listdir('Post'):
os.remove('Post/'+filename)
mail.logout()