环境:
云服务器(运营商不明) docker python3.6
25端口已打开
报错的代码
from flask import Flask
from flask_mail import Mail
from flask_mail import Message
app = Flask(__name__)
app.config['MAIL_SERVER'] = 'smtp.qq.com'
app.config['MAIL_PORT'] = 25
app.config['MAIL_USE_TLS'] = True
# 这个已被我修改,应该是你自己的qq号
app.config['MAIL_USERNAME'] = 'qq@qq.com'
# 这个是你的授权码,不是密码
app.config['MAIL_PASSWORD'] = 'password'
mail = Mail(app)
def sendmail():
msg = Message("Hello",
sender="qq@qq.com",
recipients=["qq@qq.com"])
msg.body = "testing"
msg.html = "<b>testing</b>"
mail.send(msg)
with app.app_context():
sendmail()
修改后的代码
from flask import Flask
from flask_mail import Mail
from flask_mail import Message
app = Flask(__name__)
app.config['MAIL_SERVER'] = 'smtp.qq.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = '937371423@qq.com'
app.config['MAIL_PASSWORD'] = 'rdyuwlebtveybfae'
mail = Mail(app)
def sendmail():
msg = Message("Hello",
sender="937371423@qq.com",
recipients=["2395157007@qq.com"])
msg.body = "testing"
msg.html = "<b>testing</b>"
mail.send(msg)
with app.app_context():
sendmail()
可见以上只改了端口,从25改到587就没问题了
因此可以初步推断是25端口被运营商封了,自己打开也等于没打开,换个端口就好了