使用Flask向注册用户发送确认电子邮件时出现500内部服务器错误

时间:2015-02-03 06:05:00

标签: flask eve flask-mail

我想在向注册用户输入注册详细信息后发送电子邮件确认链接, 当我输入用户注册详细信息然后URL对应signup()方法,

from flask import Flask
from flask_mail import Mail, Message

app1 = Flask(__name__)

app1.config.update(
    DEBUG=True,
    #EMAIL SETTINGS
    MAIL_SERVER='smtp.gmail.com',
    MAIL_PORT=465,
    MAIL_USE_SSL=True,
    MAIL_USERNAME = 'surya123@gmail.com',
    MAIL_PASSWORD = 'sss'
)

mail=Mail(app1)


@app.route('/auth/signup', methods=['POST'])
def signup():
    accounts = app.data.driver.db['people']
    user = {
        'email' :request.json['email'],
        'password' :generate_password_hash(request.json['password'])
    }
    accounts.insert(user)
    token = create_token(user)
    msg = Message('Confirmation Link From WEBER',
              sender='surya123@gmail.com',
              recipients=[user.email]
    )
    msg.html = '<div>this is test html</div>'
    mail.send(msg)
    return jsonify(token=token)

这是我得到500内部服务器错误,请解决此问题, 提前致谢

1 个答案:

答案 0 :(得分:0)

我没有看到您在代码中的任何位置导入Eve,因此当您运行此行时:

accounts = app.data.driver.db['people']

除非app在其他地方初始化,否则您将收到错误消息。另外,请确保在DEBUG = True设置上设置app,以便在失败时获得完整的堆栈跟踪。