什么时候下订单后会发送确认电子邮件?

时间:2012-01-13 09:05:54

标签: email

关于OMS,发送确认电子邮件的最佳方法是什么?到目前为止,我有两个选择;

  1. 订单页面上的脚本会在将记录写入数据库后发送电子邮件。
  2. 服务器上的计划任务,发送电子邮件,每隔一段时间轮询数据库以查找新条目。
  3. 系统目前使用哪种方法?

3 个答案:

答案 0 :(得分:2)

对于电子商务网站,最好考虑最佳用户体验。

鉴于此,您希望在收到订单后立即发送电子邮件,以便用户知道他们已经购买了该商品。它越早进入他们的收件箱,他们就越快乐意购买。

我同意Digbyswift的意见,即一旦将记录写入数据库,发送确认电子邮件的可扩展性最低。但我认为,如果你的系统已经达到了这么多订单以至于你的系统无法跟上,你手上有一个很好的问题,你现在可能有资源可以处理。

PostageApp,我们处理一些电子商务网站的电子邮件,因此您可能会受益于与电子邮件服务提供商的安排,以卸载此任务,以便您可以花费所有资源保持网站正常运行和数据库运行。

如果PostageApp不是您的风格,这里有一些很好的选择:

答案 1 :(得分:1)

这是一个可扩展性问题。将记录写入数据库后发送确认电子邮件的可扩展性最低。订单越多,发送的电子邮件就越多,可能会占用资源。

计划任务当然更好,因为电子邮件可以排队,并可以在单独的过程中发送。

您可以考虑的另一个选项是既不使用也不将发送电子邮件的责任委托给第三方专用电子邮件服务,即通过API。这要好得多,因为您的托管不必考虑负载,您可以使用第三方提供的任何报告。此外,许多服务提供的免费配额达到一定的门槛。这将允许OMS和业务适当扩展。

答案 2 :(得分:0)

如果您应用基于消息的架构;您可以只发布订单创建的消息,并让任意数量的订阅者响应该事件。您可以创建一个内部发送电子邮件的侦听器(定制选项)或另一个调用第三方电子邮件API的侦听器代表您发送电子邮件(根据@Digbyswift)

我一直喜欢这种方法

  1. 任何时候都可以有任意数量的听众。
  2. 您可以创建新的侦听器并更改发送电子邮件的方式,而无需更改/重新部署OMS应用程序本身。
  3. 您可以让听众离线并停止/延迟发送电子邮件,而不会丢失任何通知或影响OMS本身。