У меня есть приложение, которое отправляет более 1000 писем клиентам. Каждое письмо настраивается под клиента. У меня есть приложение Django, использующее мою учетную запись Gmail Business (оплачивается за приложение Google) для отправки писем.
Проблема, с которой я столкнулся, заключается в том, что после успешной отправки примерно 80-100 писем SMTP-соединение с Gmail прерывается. Мне нужно подождать около 10-15 минут, прежде чем я смогу начать отправку снова. Но, опять же, после 70-100 писем, отправленных должным образом, соединение разрывается.
Я использую Django-Mailer-2 для отправки почты. Вот ошибка, которую выдает мое приложение Django:
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/usr/local/lib/python2.6/dist-packages/django_mailer/management/commands/send_mail.py", line 47, in handle_noargs
send_all(block_size, backend=settings.USE_BACKEND)
File "/usr/local/lib/python2.6/dist-packages/django_mailer/engine.py", line 91, in send_all
blacklist=blacklist)
File "/usr/local/lib/python2.6/dist-packages/django_mailer/engine.py", line 179, in send_queued_message
[message.to_address], smart_str(message.encoded_message))
File "/usr/lib/python2.6/smtplib.py", line 697, in sendmail
self.rset()
File "/usr/lib/python2.6/smtplib.py", line 438, in rset
return self.docmd("rset")
File "/usr/lib/python2.6/smtplib.py", line 363, in docmd
return self.getreply()
File "/usr/lib/python2.6/smtplib.py", line 340, in getreply
raise SMTPServerDisconnected("Connection unexpectedly closed")
smtplib.SMTPServerDisconnected: Connection unexpectedly closed
Эти две последние строки заставляют меня думать, что Gmail закрывает соединение. Я связался с Gmail, и они утверждают, что проблема связана с моим программным обеспечением, а не с ними.
Что ты думаешь?