使用django+发送电子邮件;gunicorn&x2B;nginx获取超时

使用django+发送电子邮件;gunicorn&x2B;nginx获取超时,django,nginx,gunicorn,sendmail,amazon-ses,Django,Nginx,Gunicorn,Sendmail,Amazon Ses,我试图在AWS中使用gunicorn+nginx部署Django项目,但遇到超时错误。我的电子邮件后端使用AWS SES和SMTP身份验证。 前两封邮件正常发送,之后我收到了这个错误。 该帐户已成为发送电子邮件的未阻止限制 本地django开发服务器工作正常,发送电子邮件正常。在具有相同EC2规范的本地虚拟机中,正常发送电子邮件 在django shell中运行,我在第三封电子邮件中收到此日志: Traceback (most recent call last): File "<con

我试图在AWS中使用gunicorn+nginx部署Django项目,但遇到超时错误。我的电子邮件后端使用AWS SES和SMTP身份验证。 前两封邮件正常发送,之后我收到了这个错误。 该帐户已成为发送电子邮件的未阻止限制

本地django开发服务器工作正常,发送电子邮件正常。在具有相同EC2规范的本地虚拟机中,正常发送电子邮件

在django shell中运行,我在第三封电子邮件中收到此日志:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "<console>", line 5, in sendE
  File "/home/ubuntu/myproj/share/forms.py", line 23, in share_email
    email_message.send()
  File "/home/ubuntu/.local/share/virtualenvs/myproj-rqmaW6Yv/lib/python3.7/site-packages/django/core/mail/message.py", line 291, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/home/ubuntu/.local/share/virtualenvs/myproj-rqmaW6Yv/lib/python3.7/site-packages/django/core/mail/backends/smtp.py", line 103, in send_messages
    new_conn_created = self.open()
  File "/home/ubuntu/.local/share/virtualenvs/myproj-rqmaW6Yv/lib/python3.7/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/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
```
Any idea?
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“”,第5行,在sendE中
文件“/home/ubuntu/myproj/share/forms.py”,第23行,在share\u电子邮件中
email_message.send()
文件“/home/ubuntu/.local/share/virtualenvs/myproj-rqmaW6Yv/lib/python3.7/site packages/django/core/mail/message.py”,第291行,在send中
返回self.get\u连接(以静默方式失败)。发送消息([self])
文件“/home/ubuntu/.local/share/virtualenvs/myproj-rqmaW6Yv/lib/python3.7/site packages/django/core/mail/backends/smtp.py”,第103行,发送消息
新建连接创建=self.open()
文件“/home/ubuntu/.local/share/virtualenvs/myproj-rqmaW6Yv/lib/python3.7/site packages/django/core/mail/backends/smtp.py”,第63行,打开
self.connection=self.connection_类(self.host、self.port、**connection_参数)
文件“/usr/lib/python3.7/smtplib.py”,第251行,在__
(代码,消息)=自连接(主机,端口)
文件“/usr/lib/python3.7/smtplib.py”,第336行,在connect中
self.sock=self.\u获取\u套接字(主机、端口、self.timeout)
文件“/usr/lib/python3.7/smtplib.py”,第307行,在获取套接字中
self.source(地址)
文件“/usr/lib/python3.7/socket.py”,第727行,在create_connection中
提出错误
文件“/usr/lib/python3.7/socket.py”,第716行,在create_connection中
sock.connect(sa)
TimeoutError:[Errno 110]连接超时
```
有什么想法吗?

经过大量测试后,我发现EC2实例对默认smtp端口连接有限制。将端口从25更改为587,它可以正常工作

更多信息: