我遵循科里谢弗的烧瓶教程,以建立一个基本的博客网络应用程序。当从我的本地机器上运行网站时,我可以通过flask mail发送电子邮件以重置密码。但是,在linode Ubuntu服务器上托管网站之后,当我尝试发送电子邮件时,收到一个超时错误。错误回溯是:
[2019-12-27 18:15:44,423] ERROR in app: Exception on /reset_password [POST]
Traceback (most recent call last):
File "/home/hansen/FlaskTutorial/venv/lib/python3.7/site-packages/flask/app.py", line 2446, in wsgi_app
response = self.full_dispatch_request()
File "/home/hansen/FlaskTutorial/venv/lib/python3.7/site-packages/flask/app.py", line 1951, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/hansen/FlaskTutorial/venv/lib/python3.7/site-packages/flask/app.py", line 1820, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/hansen/FlaskTutorial/venv/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/home/hansen/FlaskTutorial/venv/lib/python3.7/site-packages/flask/app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "/home/hansen/FlaskTutorial/venv/lib/python3.7/site-packages/flask/app.py", line 1935, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/hansen/FlaskTutorial/flaskblog/users/routes.py", line 84, in reset_request
send_reset_email(user)
File "/home/hansen/FlaskTutorial/flaskblog/users/utils.py", line 29, in send_reset_email
mail.send(msg)
File "/home/hansen/FlaskTutorial/venv/lib/python3.7/site-packages/flask_mail.py", line 491, in send
with self.connect() as connection:
File "/home/hansen/FlaskTutorial/venv/lib/python3.7/site-packages/flask_mail.py", line 144, in __enter__
self.host = self.configure_host()
File "/home/hansen/FlaskTutorial/venv/lib/python3.7/site-packages/flask_mail.py", line 158, in configure_host
host = smtplib.SMTP(self.mail.server, self.mail.port)
File "/usr/lib/python3.7/smtplib.py", line 251, in __init__
(code, msg) = self.connect(host, port)
File "/usr/lib/python3.7/smtplib.py", line 336, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/usr/lib/python3.7/smtplib.py", line 307, in _get_socket
self.source_address)
File "/usr/lib/python3.7/socket.py", line 727, in create_connection
raise err
File "/usr/lib/python3.7/socket.py", line 716, in create_connection
sock.connect(sa)
TimeoutError: [Errno 110] Connection timed out
我试过连接到smtp.gmail.com在linux服务器上通过telnet访问服务器,并收到以下错误:
telnet smtp.gmail.com 587
Trying 2607:f8b0:400d:c03::6d...
Trying 209.85.201.109...
telnet: Unable to connect to remote host: Connection timed out
从其他stackoverflow post(https://unix.stackexchange.com/questions/151321/cant-access-mail-server-through-smtp)来看,这可能是防火墙问题。任何帮助都将不胜感激。你知道吗
在您使用ubuntu的情况下,请尝试以下步骤来配置防火墙规则以启用smtp。你知道吗
如果ufw状态为活跃。然后呢你可以使用ufw来配置防火墙规则。否则让它活跃起来,混淆规则。你知道吗
配置smtp
如果您正在为smtp使用自定义端口
将您的端口替换为您用于smtp的端口
相关问题 更多 >
编程相关推荐