Es ist fast fertig, aber dieser Fehler kommt mir in den Weg. Schauen Sie sich diesen Code an:
Code: Select all
from flask import Flask, render_template, request, redirect, url_for
from flask_mail import Mail, Message
import random
import string
def random_generator(size=6, chars=string.ascii_letters + string.digits):
return ''.join(random.choice(chars) for x in range(size))
subscribers_d = {'user@example.com': 'User Name'}
app = Flask(__name__)
mail = Mail(app)
app.config.update(
MAIL_SERVER='smtp.gmail.com',
MAIL_PORT=465,
MAIL_USE_TLS = False,
MAIL_USE_SSL=True,
MAIL_USERNAME='user@gmai.com',
MAIL_PASSWORD="password"
)
@app.route('/')
def index():
return render_template("index.html")
@app.route('/submit', methods=['POST'])
def submit():
if request.method == "POST":
v_name = request.form['vname']
v_email = request.form['vemail']
return send_mail(v_name, v_email)
else:
return redirect(url_for("/"))
random_link_sent = random_generator(20)
@app.route("/")
def send_mail(v_name, v_email):
if v_email in subscribers_d:
return "Oh! It seems that you have already registered."
else:
msg = Message('Confirm Subscription', sender=['user@gmail.com'], recipients=[v_email])
msg.html = "Confirm Subscription" \
"
Hi!
" + v_name + "
, Please click on below link to subscribe
" \
"Link: " + ' website.com/' + random_link_sent
mail.send(msg)
return 'Check Your Inbox For Confirmation Email'
@app.route("/")
def confirm(random_link_sent):
return "You have registered on " + random_link_sent
subscribers_d[v_email] = v_name
if __name__ == "__main__":
app.run(debug=True)
Aber vorher waren 2-3 Versuche, E-Mails zu senden, ohne Fehler erfolgreich.
Wie kann ich das Problem beheben? es?