如何从数据库中获取电子邮件配置?

How can I get the email configuration from the DB?

我需要的是从我的数据库中获取 EMAIL_HOST_USEREMAIL_HOSTEMAIL_PORT 等电子邮件配置,然后将该值传递给 settings.py 文件。这可能吗?如果是,我该怎么做?

实际上,如果您像这样使用 django.core.mail.backends.smtp.EmailBackend,这并不难做到:

from django.core.mail.backends.smtp import EmailBackend

backend = EmailBackend(host = server.host, server.port, server.username, serer.password)

一旦你创建了这样的后端。关于如何发送消息,您有两种选择。首先是您可以调用 send_messages() 方法在其上发送您的消息(或消息)。第二个是你可以告诉 EmailMessage 使用它作为连接。 server.whatever 从何而来?当然是数据库。

class EmailServer(models.Model):
   host = models.CharFields()
   ....