尝试exec create_connection func

时间:2019-04-19 16:47:23

标签: python-3.x sockets smtp

我正在尝试dockerize psono密码管理器。

此解决方案具有SMTP服务器,用于从注册用户发送验证邮件。

执行提供psono服务器的sendtestmail函数时,他返回跟随输出。

python3 ./psono/manage.py sendtestmail something@something.com
Traceback (most recent call last):
  File "./psono/manage.py", line 17, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "/root/psono/restapi/management/commands/sendtestmail.py", line 21, in handle
    html_message=content,
  File "/usr/local/lib/python3.6/site-packages/django/core/mail/__init__.py", line 60, in send_mail
    return mail.send()
  File "/usr/local/lib/python3.6/site-packages/django/core/mail/message.py", line 291, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/usr/local/lib/python3.6/site-packages/django/core/mail/backends/smtp.py", line 103, in send_messages
    new_conn_created = self.open()
  File "/usr/local/lib/python3.6/site-packages/django/core/mail/backends/smtp.py", line 63, in open
    self.connection = self.connection_class(self.host, self.port, **connection_params)
  File "/usr/local/lib/python3.6/smtplib.py", line 251, in __init__
    (code, msg) = self.connect(host, port)
  File "/usr/local/lib/python3.6/smtplib.py", line 336, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/usr/local/lib/python3.6/smtplib.py", line 307, in _get_socket
    self.source_address)
  File "/usr/local/lib/python3.6/socket.py", line 724, in create_connection
    raise err
  File "/usr/local/lib/python3.6/socket.py", line 713, in create_connection
    sock.connect(sa)
OSError: [Errno 99] Address not available

我知道不执行与SMTP服务器的连接,但不确切知道问题出在哪里。

是否存在任何调试方式?

执行netsat comnand仅查看http服务器侦听,而看不到任何smtp服务器。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您是否在settings.yaml中定义了SMTP详细信息?

如果没有,请尝试在Psono服务器内部编辑/root/.psono_server/settings.yaml并将其指向任何SMTP服务器。

然后运行电子邮件测试,看看是否可行。

./ psono / manage.py sendtestmail youremail@yourdomain.com

不需要P.S SMTP身份验证,就我而言,我只是指向我的内部SMTP服务器,它可以工作。