【问题标题】:Docker SMTP Server for Django Container SMTP backend用于 Django 容器 SMTP 后端的 Docker SMTP 服务器
【发布时间】:2018-10-26 16:12:39
【问题描述】:

我希望我的一个 django docker 容器设置一个 smtp 后端,这样我就可以将联系表单中的输入发送到 gmail 地址,也可以在有人输入他们的电子邮件以订阅更新时发送电子邮件: https://docs.djangoproject.com/en/1.11/topics/email/#smtp-backend

如何设置 SMTP 服务器?它是一个单独的 docker 容器吗?如何设置?

【问题讨论】:

  • 如果您想运行自己的 smtp 服务器而不是使用外部 smtp 服务,那么您可能希望将其作为自己的容器运行,而不是在 django 应用程序容器中运行。
  • @programmerq 好的,我明白了。我应该怎么做才能设置它? Docker 里面有什么镜像或软件?

标签: django email docker smtp django-1.11


【解决方案1】:

只是对某些文件进行更改

#add it in docker_compose.yml
maildev:
image: maildev/maildev
ports:
  - "49180:80"
# add it in your settings.py file 
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'maildev'
EMAIL_PORT = 25
# then run docker-compose up -d
# when it done then run docker build -t <your tag Name> .
happy coding.......

参考链接: [1]:https://melvinkoh.me/configure-and-send-email-in-django-for-both-development-and-production-cjye4y0l7000nuns1m43vstaq

【讨论】:

    【解决方案2】:

    电子邮件后端只是一个导入的模块。你可以像文档中描述的那样使用它:https://docs.djangoproject.com/en/1.11/topics/email/#email-backends

    在此之前,您必须为 smtp 服务器配置数据。您只需要配置设置,例如您的 smtp 主机、用户名和密码等。这里是配置它的文档:https://docs.djangoproject.com/en/1.11/topics/email/#smtp-backend 您可以使用现有的 smtp 服务器。如果您有一个带有域的软件包,则可能包含一个电子邮件帐户。

    不需要另一个容器。但是你可以在一个单独的容器中设置你自己的。目前已经有一些 docker-ready 解决方案。以下是一些:

    【讨论】:

    • 实际上,我不想使用 Google 的 smtp 服务器,而是打算将电子邮件从联系表发送到 gmail 地址
    • 感谢您的回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 2013-03-21
    • 2013-06-29
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    • 2011-10-25
    相关资源
    最近更新 更多