据我所知,Django仅支持使用SMTP发送邮件。
我想从Django的脚本中发送电子邮件,但不想设置SMTP服务器(这对我来说太复杂了,我是一个linux新手)。
是否可以像在PHP中一样在Django中发送邮件而不提供SMTP登录名,密码等?
答案 0 :(得分:6)
PHP在UNIX系统上使用sendmail发送电子邮件。我想在你设置系统的某个时候,就是配置了sendmail。
Python有一个API to sendmail,也许对你有帮助。但是在任何情况下都涉及SMTP服务器;)
答案 1 :(得分:3)
Postfix和Exim旨在解决与将邮件从主机转发到世界其他地方相关的所有问题。您的应用向他们说SMTP,然后他们转身并与目的地说SMTP。但他们非常非常擅长。
对您要发送到的电子邮件地址的MX记录执行DNS查找并nothing stopping you直接连接到该服务器并向其发送SMTP。除了唠叨的声音之外什么都不应该问你“这真的比apt-get install exim4更容易吗?”
答案 2 :(得分:2)
那么PHP如何做到这一点?通过魔法?
如果您没有SMTP服务器,请注册GMail帐户并使用该帐户。
答案 3 :(得分:2)
您的托管服务提供商可能已为其计算机上的所有PHP页面设置了主机和任何可能的登录凭据。这样看起来似乎没有必要。您的托管服务提供商应该非常乐意为您提供相关信息。尝试在常见问题解答,论坛以及他们发送的任何欢迎电子邮件中搜索SMTP。如果您的搜索没有改变,请直接询问。
获得信息后,您需要使用这些email settings将其添加到settings.py文件中:
# *** settings.py ***
#EMAIL_HOST = 'host here'
#EMAIL_PORT = 587
#EMAIL_HOST_USER = 'your user here'
#EMAIL_HOST_PASSWORD = 'your password'
#EMAIL_USE_TLS = True
根据需要取消注释并使用尽可能多的这些设置。
答案 4 :(得分:0)
我想,既然你正在使用Django,你通常可以使用Python。有一个新的Python MTA演变,看起来很有希望http://lamsonproject.org/docs/hooking_into_django.html