代码之家  ›  专栏  ›  技术社区  ›  Silver Light

在不带SMTP服务器的Django中发送电子邮件。与php mail()函数类似

  •  7
  • Silver Light  · 技术社区  · 14 年前

    据我所知,Django只支持使用SMTP发送邮件。

    我想从Django的脚本发送电子邮件,但不想设置SMTP服务器(对我来说太复杂了,我是一个Linux新手)。

    有没有可能,在django中发送邮件的方式和在php中一样,而不提供smtp登录名、密码等?

    5 回复  |  直到 14 年前
        1
  •  5
  •   Felix Kling    14 年前

    PHP使用Unix系统上的sendmail发送电子邮件。我想在您设置系统的某个时候,已经配置了sendmail。

    有一个 API to sendmail 对于巨蟒来说,也许它能帮助你。但在任何情况下都涉及到一个SMTP服务器;)

        2
  •  3
  •   Don Spaulding    14 年前

    postfix和exim用于处理与将主机电子邮件转发到世界其他地方相关的所有问题。你的应用程序向他们发送了smtp,然后他们转身向目的地发送了smtp。但他们是 非常,非常擅长 .

    nothing stopping you 通过DNS查找您要发送到的电子邮件地址的MX记录并直接连接到该服务器,然后通过SMTP与之通信。除了那个喋喋不休的声音之外,什么都没有,“这真的比apt-get-install-exim4容易吗?”

        3
  •  2
  •   Daniel Roseman    14 年前

    那么PHP是如何做到的呢?靠魔法?

    如果您没有SMTP服务器,请注册一个Gmail帐户并使用它。

        4
  •  2
  •   istruble kalyan    14 年前

    您的主机提供商可能已经为其计算机上的所有PHP页面设置了主机和任何可能的登录凭据。这将使它看起来好像不需要任何东西。您的主机提供商应该非常乐意向您提供这些信息。尝试在他们的常见问题解答、论坛和他们发送的任何欢迎电子邮件中搜索SMTP。如果你的搜索没有发现任何问题,直接问他们。

    一旦您有了这些信息,您将希望使用这些信息将其添加到settings.py文件中。 email settings :

    # *** settings.py ***
    #EMAIL_HOST = 'host here'
    #EMAIL_PORT = 587
    #EMAIL_HOST_USER = 'your user here'
    #EMAIL_HOST_PASSWORD = 'your password'
    #EMAIL_USE_TLS = True
    

    根据需要取消注释并使用这些设置。

        5
  •  0
  •   evdama    14 年前

    我想既然你用的是django,一般来说你对python没问题。有一种新的python mta正在发展,看起来非常有前途。 http://lamsonproject.org/docs/hooking_into_django.html