Files
Flask_Webserver/app.py
2024-01-18 17:39:31 +01:00

62 lines
2.6 KiB
Python

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)