我在 Django 中遇到 send_mail 问题。在我尝试更改一些电子邮件设置以使其使用 EMAIL_HOST_USER 和 EMAIL_HOST_PASSWORD 之前,它一直运行良好。当我这样做时,我的测试电子邮件未发送。
我恢复到原来的电子邮件设置,但现在仍然无法发送电子邮件。我已重新启动以确保我当前的设置生效。当我运行命令“python manage.py send_mail”进行测试时,我得到了这个响应:
acquiring lock... lock already in place. quitting.
在查看 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”,所以它在不发送电子邮件的情况下退出。如果真是这样,我该如何打破这个锁并重新开始?
请您参考如下方法:
很可能在您的目录中有一个“锁定文件”('send_mail')- 只需将其删除
