1

send_mail在 Django 中遇到问题。在我尝试更改一些电子邮件设置以使其使用 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”,所以它在不发送电子邮件的情况下退出。如果真的是这样,我该如何打破这个锁并重新开始?

4

1 回答 1

7

很可能您的目录中有一个“锁定文件”('send_mail') - 只需将其删除

于 2011-04-15T00:57:32.337 回答