Flask 小白测试发送邮件失败,各位大佬看看有啥毛病?

2017-03-10 18:33:41 +08:00
 diangdiang

一个简单的发送邮件脚本,在本地上可以成功发送邮件,放到云服务器上发送失败,查资料查好久了, smtp 服务器试过 smtp.live.comsmtp.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='someuser@hotmail.com', recipients=['someuser@qq.com', 'someuser@126.com'])

    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

一直没解决,谢谢各位大佬

2264 次点击
所在节点    程序员
12 条回复
diangdiang
2017-03-10 18:34:59 +08:00
消灭零回复
phrack
2017-03-10 18:42:10 +08:00
从贴的错误看是连接不上发信服务器?
diangdiang
2017-03-10 18:47:19 +08:00
@phrack 本地监听 localhost 可以的,不知道咋回事啊,是不是因为换成 0.0.0.0 造成的?
diangdiang
2017-03-10 18:55:07 +08:00
别沉啊。。。一直没解决, 心好累
ohhe
2017-03-10 19:05:20 +08:00
一般云服务器都是封掉发邮件相关端口的
diangdiang
2017-03-10 19:07:23 +08:00
贴的代码里手误注释了 smtp 服务器那行,实际脚本里没有注释掉
diangdiang
2017-03-10 19:09:19 +08:00
@ohhe 那你们是怎么将有注册功能的网站部署到云服务器上的? 博客系统需要提供用户注册啥的
ohhe
2017-03-10 19:13:46 +08:00
sendgrid sendcloud webapi
http://help.163.com/09/1223/14/5R7P3QI100753VB8.html
试试网易的 993 端口。
阿里云应该不限制,你看看防火墙怎么设置的
diangdiang
2017-03-10 19:15:32 +08:00
@ohhe 多谢~,我再试试
diangdiang
2017-03-10 19:28:54 +08:00
@ohhe 阿里云用 163 的 25 号端口可行, 可是阿里云上下载包太慢了,有没有什么解决方法?
sundong
2017-03-10 20:41:37 +08:00
去年下半年新购的阿里云主机 25 已经被封了
你可以试试 telnet smtp.163.com 25
diangdiang
2017-03-10 21:03:23 +08:00
@sundong 你们阿里云上下载包很慢是怎么解决的,用代理吗?新手求带

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/346534

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX