有关smtp服务器与Django一起使用的任何建议吗?

时间:2016-02-20 18:02:11

标签: python django smtp

我尝试使用smtpd但无法使其正常工作(以下是link to the issue)。我只需要服务器接收电子邮件并存储在数据库中。我发现很少像MailGun,虽然它看起来很棒但它不是免费的。有什么建议?

1 个答案:

答案 0 :(得分:3)

有很多选项,这是一个意见问题,也与具体的用例有关。所以这里有你的主要选择。

这主要是你的决定而不是“与django”。问题是为Web应用程序选择邮件服务器。

从django的角度来看,它可以是本地服务器(更快),也可以是外部API。作为开发人员,发送SMTP可能比外部API更容易,因为django已经包含后端处理。但是,优质的电子邮件服务提供商通常拥有良好的客户端库,并且使用他们的API并不复杂。

  1. 您自己的电子邮件服务器:安装和维护您自己的邮件服务器。优点:更便宜,便宜的VPS会做,帐户没有限制(对测试有用)和邮件。缺点:如果之前没有安装邮件服务器+ auth后端等,那么安装邮件服务器+ auth后端等并不容易,并且您的电子邮件很容易被标记为垃圾邮件。如果选择此选项,Postfix是一个安全的选择。

  2. 外部服务:使用API​​。优点:更容易实现,更少被标记为垃圾邮件发送者的机会。缺点:针对特定API的更昂贵,可能的特定编码

  3. 您的邮件服务器+外部API:本地服务器连接速度更快,因此django可以快速发送电子邮件,然后服务器处理较慢的发送到外部服务

  4. 摘要:如果您刚开始使用,并且需要一个简单的电子邮件工具,请选择使用SMTP的外部服务。使用非常简单的django SMTP实用程序,无需对供应商API进行特定编码即可启动并运行。一旦您需要扩展,请进行研究并选择更高级的解决方案。

    注意:通常发送电子邮件需要一些异步队列,允许django传递电子邮件发送任务并继续请求,而无需等待smtp连接。 SMTP连接可能很慢。