Как справиться с оставлением сообщения на сайте в Python - PullRequest
0 голосов
/ 13 декабря 2011

Я занимаюсь разработкой своего первого сайта. У меня есть страница, где люди могут оставить мне сообщение. Что я делаю, так это отправляю вызов AJAX на сервер, и сервер получает содержимое сообщения, затем входит в учетную запись gmail и отправляет сообщение в другую учетную запись gmail, используя библиотеки электронной почты python smtplib и email.

Работает нормально, но проблема в том, что на моем ноутбуке это занимает больше одной минуты, загрузка изображения на стороне клиента продолжит вращаться в течение этого времени. Я думаю, что узким местом является логин ().

mailServer = smtplib.SMTP("smtp.gmail.com", 587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()

# login, send email, logout
mailServer.login(conf.user, conf.pw)
mailServer.sendmail(conf.user, to, msg.as_string())
mailServer.close()

Так есть ли способ ускорить это или другие способы сделать это.

Спасибо

1 Ответ

0 голосов
/ 23 октября 2012

Таким образом, задержка, вероятно, вызвана SMTP-сервером Google, так как они выполняют обратный поиск IP-адреса вашего веб-сервера - почтовые системы часто делают это как часть отправки электронной почты.

То, что вы запрограммировали, необходимо только в том случае, если вы намеревались отправлять почту из своей учетной записи, то есть тогда, когда вам нужно выполнить аутентифицированную SMTP. Если вы хотите отправить только свою учетную запись по почте, то можете удалить шаг входа в систему. Обратите внимание, что вам придется сменить почтовый сервер с smtp.gmail.com на один из серверов входящей почты Google (MX). Кроме того, если вы выполняете простую переадресацию, вам придется обрабатывать отклонение электронной почты или другие проблемы с подключением, поэтому было бы полезно, чтобы ваш сценарий сбрасывал почту на простой почтовый сервер, работающий на почтовом сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...