【发布时间】: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 -