繁体   English   中英

尝试使用 django 发送邮件时出现 Error10060 超时

[英]Error10060 Timeout when trying to send_mail with django

这是我的设置:(我很确定密码和用户是正确的,因为如果我故意输入错误的密码,它会返回 authenticationException 但不会超时)

DEFAULT_FROM_EMAIL = 'xxxx'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'xxxx'
EMAIL_HOST_PASSWORD = 'xxxxxxxx'

我在 python shell 中尝试这个:

send_mail('Test', 'This is a test', 'xxxx@gmail.com', ['xxxx@gmail.com'],
       fail_silently=False)

它返回超时异常。 加:我正在使用vpn,我想可能这是罪魁祸首,但我不知道如何解决它,谢谢你的帮助。

这是回溯:

    raceback (most recent call last):
  File "D:\Python\lib\code.py", line 90, in runcode
    exec(code, self.locals)
  File "<input>", line 1, in <module>
  File "D:\DATA\_project_django\app_pluggable\auth_c\venv\lib\site-packages\django\core\mail\__init__.py", line 61, in send_mail
    return mail.send()
  File "D:\DATA\_project_django\app_pluggable\auth_c\venv\lib\site-packages\django\core\mail\message.py", line 284, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "D:\DATA\_project_django\app_pluggable\auth_c\venv\lib\site-packages\django\core\mail\backends\smtp.py", line 102, in send_messages
    new_conn_created = self.open()
  File "D:\DATA\_project_django\app_pluggable\auth_c\venv\lib\site-packages\django\core\mail\backends\smtp.py", line 62, in open
    self.connection = self.connection_class(self.host, self.port, **connection_params)
  File "D:\Python\lib\smtplib.py", line 255, in __init__
    (code, msg) = self.connect(host, port)
  File "D:\Python\lib\smtplib.py", line 341, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "D:\Python\lib\smtplib.py", line 312, in _get_socket
    return socket.create_connection((host, port), timeout,
  File "D:\Python\lib\socket.py", line 845, in create_connection
    raise err
  File "D:\Python\lib\socket.py", line 833, in create_connection
    sock.connect(sa)
TimeoutError: [WinError 10060] 

由于某种原因,今天我醒来再次尝试,它奏效了。 这次它返回 1,这意味着有一个 email 被发送,我在多个不同的 vpn 服务器之间切换,这次我在日本使用了一个服务器,我关闭了 TLS 并重置了我的 pycharm 中的代理设置,然后它工作了, 谢谢大家:如果你有类似的问题,试试这个:

  1. 打开和关闭您的 EMAILL_USE_TLS
  2. 尝试不同的VPN服务器
  3. 尝试在 IDE 中配置代理设置
  4. 尝试不同的端口,对于 smpt 有 587 465 和 25。如果您使用的是 gmail 服务器,请先尝试 587。

干杯。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM