【问题标题】:Python Flask email 405 Not Allowed messagePython Flask 电子邮件 405 不允许消息
【发布时间】:2020-08-29 17:51:28
【问题描述】:

我正在尝试按照在线教程使用烧瓶电子邮件发送电子邮件。但我在提交表单时收到 405 Not Allowed 消息。不幸的是,作者没有解释这些错误信息。我使用谷歌作为邮件服务器。有人能看出我哪里出错了吗?提前致谢。这是代码:

import os
from flask import Flask, render_template, request
from flask_mail import Mail, Message

app = Flask(__name__)


app.config['MAIL_SERVER'] = 'smtp.gmail.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USERNAME'] = 'milestone2020.projects@gmail.com'
app.config['MAIL_PASSWORD'] = '******'
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True

mail = Mail(app)


@app.route('/')

def index():
    return render_template('home.html')


@app.route('/send_message', methods=['GET', 'POST'])
def send_message():
    if request.method == 'POST':
        email = request.form['email']
        subject = request.form['subject']
        msg = request.form['message']

        message = Message(subject, sender='milestone2020.projects@gmail.com',
                          recipients=[email])

        message.body = msg

        mail.send(message)

        success = "Message sent"

        return render_template('result.html', success=success)


if __name__ == '__main__':
   app.run(debug = True)er code here


This is the form at **home.html**.

<form action="{{url_for('send_message')}}" method="POST">    
    <input type="email" id="email" name="email" placeholder="Email" required><br><br>  
    <input type="text" id="subject" name="subject" placeholder="subject" required><br><br>
    <textarea name="message" id="message" cols="30" rows="10" placeholder="Message body"></textarea>
    <br><br>
    <input type="submit" value="Submit">
  </form>


**result.html**

{{成功}}

去首页

【问题讨论】:

  • 错误信息表示您的邮箱配置不正确。另见stackoverflow.com/questions/37058567/…
  • 这能回答你的问题吗? Configure Flask-Mail to use GMail
  • 非常感谢。但问题仍然存在。我已将 gmail 密码更改为新生成的应用密码。我选择该设备作为我的 Windows 计算机登录,因为这是我运行 python 脚本的地方。这是解决这个问题的正确方法吗?这是错误:127.0.0.1 - - [31/​​Aug/2020 18:21:25] “POST /send_message HTTP/1.1”500 - 127.0.0.1 - - [31/​​Aug/2020 18:22:23] “POST /send_message HTTP/1.1" 500 -

标签: email flask


【解决方案1】:

为客户端禁用 CAPTCHA 如果您未使用 2 因素身份验证,并且您已验证 Python 源中的凭据正确,请执行以下步骤:

1.) 在浏览器中登录 gmail

2.) 导航到 DisplayUnclockCaptcha 页面。

3.) 单击继续按钮,您将看到消息“已启用帐户访问权限,请尝试从以下位置重新登录您的 Google 帐户” 您的新设备或应用程序。'

4.)运行您的 Python 脚本 - 您的登录尝试应该会成功。

【讨论】:

  • 非常感谢您的帮助。即使启用了 2 因素身份验证并将烧瓶应用程序中的 gmail 密码替换为新生成的应用程序密码,我仍然收到 405 错误消息。
猜你喜欢
  • 2018-02-23
  • 1970-01-01
  • 2020-09-15
  • 1970-01-01
  • 2012-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-06
相关资源
最近更新 更多