Django send_mail "Блокировка уже на месте. Выход." - PullRequest
1 голос
/ 15 апреля 2011

У меня проблема с send_mail в Джанго.Он работал нормально, пока я не попытался изменить некоторые настройки электронной почты, чтобы он использовал EMAIL_HOST_USER и EMAIL_HOST_PASSWORD.Когда я сделал это, мои тестовые электронные письма не были отправлены.

Я вернулся к своим прежним настройкам электронной почты, которые работали, и теперь они все еще не отправляют электронные письма.Я перезапустил все, чтобы убедиться, что мои текущие настройки действуют.Когда я запускаю команду 'python manage.py send_mail' для проверки, я получаю такой ответ:

получение блокировки ... блокировка уже установлена.выход.

При просмотре кода в mailer.engine:

def send_all():
    """
    Send all eligible messages in the queue.
    """

    lock = FileLock("send_mail")

    logging.debug("acquiring lock...")
    try:
        lock.acquire(LOCK_WAIT_TIMEOUT)
    except AlreadyLocked:
        logging.debug("lock already in place. quitting.")
        return
    except LockTimeout:
        logging.debug("waiting for the lock timed out. quitting.")
        return
    logging.debug("acquired.")

    start_time = time.time()

    dont_send = 0
    deferred = 0
    sent = 0

Похоже, что, поскольку он получает исключение «AlreadyLocked», он выходит без отправки электронных писем.Если это действительно так, как мне сломать этот замок и начать все сначала?

1 Ответ

7 голосов
/ 15 апреля 2011

Скорее всего, в вашем каталоге есть "файл блокировки" ('send_mail') - просто удалите его

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