我尝试使用smtpd
但无法使其正常工作(以下是link to the issue)。我只需要服务器接收电子邮件并存储在数据库中。我发现很少像MailGun,虽然它看起来很棒但它不是免费的。有什么建议?
答案 0 :(得分:3)
有很多选项,这是一个意见问题,也与具体的用例有关。所以这里有你的主要选择。
这主要是你的决定而不是“与django”。问题是为Web应用程序选择邮件服务器。
从django的角度来看,它可以是本地服务器(更快),也可以是外部API。作为开发人员,发送SMTP可能比外部API更容易,因为django已经包含后端处理。但是,优质的电子邮件服务提供商通常拥有良好的客户端库,并且使用他们的API并不复杂。
您自己的电子邮件服务器:安装和维护您自己的邮件服务器。优点:更便宜,便宜的VPS会做,帐户没有限制(对测试有用)和邮件。缺点:如果之前没有安装邮件服务器+ auth后端等,那么安装邮件服务器+ auth后端等并不容易,并且您的电子邮件很容易被标记为垃圾邮件。如果选择此选项,Postfix是一个安全的选择。
外部服务:使用API。优点:更容易实现,更少被标记为垃圾邮件发送者的机会。缺点:针对特定API的更昂贵,可能的特定编码
您的邮件服务器+外部API:本地服务器连接速度更快,因此django可以快速发送电子邮件,然后服务器处理较慢的发送到外部服务
摘要:如果您刚开始使用,并且需要一个简单的电子邮件工具,请选择使用SMTP的外部服务。使用非常简单的django SMTP实用程序,无需对供应商API进行特定编码即可启动并运行。一旦您需要扩展,请进行研究并选择更高级的解决方案。
注意:通常发送电子邮件需要一些异步队列,允许django传递电子邮件发送任务并继续请求,而无需等待smtp连接。 SMTP连接可能很慢。