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
import sys
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()