一个简单的发送邮件脚本,在本地上可以成功发送邮件,放到云服务器上发送失败,查资料查好久了, smtp 服务器试过 smtp.live.com 和 smtp.qq.com ,云服务器试过阿里云和 DO ,貌似报错都是类似的,但是一直没解决。 测试脚本如下:
import os
from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
app.config['MAIL_PORT'] = 465
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USE_SSL'] = False
#app.config['DEBUG'] = True
app.config['DEBUG'] = False
#app.config['MAIL_SERVER'] = 'smtp.live.com'
app.config['MAIL_USERNAME'] = os.environ.get('MAIL_USERNAME')
app.config['MAIL_PASSWORD'] = os.environ.get('MAIL_PASSWORD')
mail = Mail(app)
@app.route("/")
def index():
msg = Message('hello', sender='[email protected]', recipients=['[email protected]', '[email protected]'])
msg.body = 'hello message from flask'
mail.send(msg)
return 'Sent'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000, debug=False)
DO 上用 smtp.live.com 截取部分报错如下:
File "/usr/lib/python2.7/smtplib.py", line 291, in _get_socket return socket.create_connection((host, port), timeout)
File "/usr/lib/python2.7/socket.py", line 571, in create_connection raise err error: [Errno 110] Connection timed out
一直没解决,谢谢各位大佬