Files
Flask_Webserver/app.py
2024-01-16 14:00:22 +01:00

54 lines
2.4 KiB
Python

from flask import Flask, render_template, request, redirect, url_for
import smtplib, ssl
from unidecode import unidecode
port = 587 # For starttls
smtp_server = "smtp.gmail.com"
sender_email = "patha9201@gmail.com"
# receiver_email = "patha9201@gmail.com"
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':
receiver = unidecode(request.form['name'])
receiver_email = request.form['email']
receiver_glatze = request.form['glatze']
receiver_trauzeuge = request.form['trauzeuge']
if receiver_glatze == "yes":
message = 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:
message = 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 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"
print(message)
context = ssl.create_default_context()
with smtplib.SMTP(smtp_server, port) as server:
server.ehlo() # Can be omitted
server.starttls(context=context)
server.ehlo() # Can be omitted
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message)
return redirect(url_for('submitted'))
@app.route ('/submitted')
def submitted():
return render_template('submitted.html')
if __name__ == '__main__':
app.run(debug=True)