擅长:python、mysql、java
<p>发送电子邮件是一项网络任务,你不知道它需要多长时间才能完成,就像你的情况一样。虽然您的网络中可能存在延迟,但最好以异步方式执行此类任务,这样您的主线程是空闲的。在</p>
<p>我在我的一个项目中使用以下代码。在</p>
<p>在实用工具.py在</p>
<pre><code>import threading
from django.core.mail import EmailMessage
class EmailThread(threading.Thread):
def __init__(self, subject, html_content, recipient_list, sender):
self.subject = subject
self.recipient_list = recipient_list
self.html_content = html_content
self.sender = sender
threading.Thread.__init__(self)
def run(self):
msg = EmailMessage(self.subject, self.html_content, self.sender, self.recipient_list)
msg.content_subtype = 'html'
msg.send()
def send_html_mail(subject, html_content, recipient_list, sender):
EmailThread(subject, html_content, recipient_list, sender).start()
</code></pre>
<p>只需从视图中调用send_html_mail。在</p>