Python 使用Django发送电子邮件,不使用SMTP服务器。与php mail()函数类似

Python 使用Django发送电子邮件,不使用SMTP服务器。与php mail()函数类似,python,django,email,Python,Django,Email,据我所知,Django只支持使用SMTP发送邮件 我想用Django脚本发送电子邮件,但不想设置SMTP服务器(对我来说太复杂了,我是linux新手) 有没有可能像我在PHP中那样,在Django中发送邮件,而不提供SMTP登录名、密码等?那么PHP是如何做到的呢?用魔法 如果您没有SMTP服务器,请注册GMail帐户并使用它。PHP在UNIX系统上使用sendmail发送电子邮件。我猜在设置系统的某个时候,sendmail已经配置好了 Python有一个很好的例子,也许它能帮助你。但在任何情况

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

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


有没有可能像我在PHP中那样,在Django中发送邮件,而不提供SMTP登录名、密码等?

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


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

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


Python有一个很好的例子,也许它能帮助你。但在任何情况下都会涉及SMTP服务器;)

您的主机提供商可能已经为其机器上的所有PHP页面设置了主机和任何可能的登录凭据。这将使它看起来似乎没有必要。您的主机提供商应该非常乐意向您提供这些信息。尝试在他们的FAQ、论坛和他们发送的任何欢迎电子邮件中搜索SMTP。如果你的搜索没有找到任何结果,直接问他们

获得信息后,您需要使用以下命令将其添加到settings.py文件中:


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

Postfix和Exim是为了解决所有与将电子邮件从主机转发到世界其他地方相关的问题而构建的。你的应用程序向他们发送SMTP,他们会转身向目标发送SMTP。但是他们非常非常擅长这方面


通过DNS查找您要发送到的电子邮件地址的MX记录,直接连接到该服务器,并向其发送SMTP,这是非常困难的。除了那个唠叨的声音之外,没有什么应该问你“这真的比apt get install exim4容易吗?”

我想既然你使用的是Django,你对Python基本上没问题。有一个新的Python MTA正在发展,它看起来非常有前途

我不确定PHP是如何做到的,但在安装PHP时,我没有在任何地方指定SMTP身份验证设置。我考虑过Gmail SMTP,但我的邮件必须只能来自我的Gmail帐户。我想在“发件人”字段中使用其他电子邮件。为什么不尝试像AuthSMTP这样的STMP网关呢?当然,在没有外部SMTP服务器的情况下也可以发送电子邮件(SMTP服务器本身是如何发送的?),所以这不是“魔术”。您的主机提供商应该在您的服务器上安装SMTP。如果您不确定设置,请联系他们。谢谢,这正是我需要的。这里还有一个例子很有帮助:我有自己的服务器,所以主机提供商不能帮助我。感谢您的回复。apt-get安装是我可以处理的事情,但SASL配置让我害怕。对于这样一个琐碎的任务,似乎很难……我不知道你为什么认为SASL是必要的。将Postfix或Exim配置为仅接受来自受信任IP的连接(理想情况下仅为127.0.0.1),而不完全进行身份验证。
# *** settings.py ***
#EMAIL_HOST = 'host here'
#EMAIL_PORT = 587
#EMAIL_HOST_USER = 'your user here'
#EMAIL_HOST_PASSWORD = 'your password'
#EMAIL_USE_TLS = True