from flask import Flask, render_template, request, redirect, url_for import smtplib, ssl from unidecode import unidecode from email.message import EmailMessage sender_mail = "patha9201@gmail.com" sender_smtp = "smtp.gmail.com" sender_port = 587 sender_password = "dqlw ablc clic uvgp" app = Flask(__name__) @app.route('/', methods=['GET','POST']) def home(): if request.method == 'GET': return render_template('index.html') if request.method == 'POST': return redirect(url_for('form')) @app.route ('/form', methods=['GET','POST']) def form(): if request.method == 'GET': return render_template('form.html') if request.method == 'POST': # Dictioanry aus Form abfragen receiver = unidecode(request.form['name']) receiver_email = request.form['email'] receiver_glatze = request.form['glatze'] receiver_trauzeuge = request.form['trauzeuge'] # Message-Objekt anlegen msg = EmailMessage() msg['Subject'] = 'Trauzeugenanfrage' msg['From'] = sender_mail msg['CC'] = sender_mail msg['To'] = receiver_email # Nachricht je nach Rückmeldung aus form erstellen if receiver_glatze == "yes": msg.set_content(f"Sehr geehrter Herr {receiver}, Sie haben angegeben, dass Ihre Glatze vorhanden und entspiegelt ist - dies deutet auf eine maximale Eignung als Trauzeuge hin. Ihr Wunsch als Trauzeuge aufzutreten wurde mit - {receiver_trauzeuge} - beantwortet. Ihre Angaben wurden zur Kenntnis genommen und wurden zur weiteren Evaluation an den Admin gesendet. Vielen Dank") else: msg.set_content(f"Sehr geehrter Herr {receiver}, Sie haben angegeben, dass keine Glatze vorhanden ist und/oder (falls vorhanden) sie nicht entspiegelt ist - dies führt leider zu Punkteabzügen in der Beurteilung Ihrer Qualifiaktion als Trauzeuge. In Ermangelung besserer Alternativen, kann Ihr Punktestand aber als neutral bewertet werden. Ihr Wunsch als Trauzeuge aufzutreten wurde mit - {receiver_trauzeuge} - beantwortet. Ihre Angaben wurden zur Kenntnis genommen und wurden zur weiteren Evaluation an den Admin gesendet. Vielen Dank") # Bei SMTP-Server einloggen und Mail senden context = ssl.create_default_context() with smtplib.SMTP(sender_smtp, sender_port) as server: server.starttls(context=context) server.login(sender_mail, sender_password) server.send_message(msg) return redirect(url_for('submitted')) @app.route ('/submitted') def submitted(): return render_template('submitted.html') if __name__ == '__main__': app.run(debug=True)