import sys import csv import os import requests import socket import subprocess from pathlib import Path csvfile = Path("user.csv") host = "front" port = 993 # Mail Server aktiv ? try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(1) result = sock.connect_ex((host, port)) if result != 0: print(f"Fehler beim Verbinden zu {host} auf Port {port}") ## --- E-Mail senden except: print(f"Fehler beim Verbinden zu {host} auf Port {port}") ## --- E-Mail senden finally: sock.close() # CSV vorhanden1 try: csvfile_path = csvfile.resolve(strict=True) except FileNotFoundError: print("not Found") #CSV erste Zeile auslesen (domain;domain) rows = [] with open(csvfile, mode='r', newline='') as file: reader = csv.reader(file, delimiter=";") next(reader) for row in reader: rows.append(row) for row in rows: username = row[0] password = row[1] domain = row[2] # Erstellen einer Liste für den Befehl und die Argumente command = [ "imapsync", "--host1", domain, "--user1", username, "--password1", password, "--host2", "front", "--user2", "archiv@archiv.trendsetzer.eu", "--port2","143", "--password2", "S8jZT7Ke3gdzxV0QfsB19R1bNwR716M6yUJQ4az9Kr8EK" # "--prefix2", f"Archiv/{username}/", # Verwende dynamisch den username im Zielordner # "--regextrans2", "s/^(.*)$/\\${1}/", ] subprocess.run(command) # CSV laden # User in CSV kontrollieren ob vorhanden -> User anlegen # impasync für jeden User durchführen -> Doamin aus CSV laden domain1.de;domain2.de # Wenn Anmeldung am User failed -> Email mit User an -> impasync@domain1.de # Abschluss Ergbniss in SQLLite Datenbank schreiben # Daily Report an -> impasync@domain1.de