2012-01-13 75 views
3

关于OMS,发送确认电子邮件的最佳方法是什么?我迄今为止的2个选项是;下订单后应该何时发送确认电子邮件?

  1. 一旦记录写入数据库,订单页上的脚本就发送一封电子邮件。
  2. 服务器上的计划任务,发送电子邮件,每隔一段时间轮询一次数据库以查找新条目。

系统目前使用哪种方法?

+0

请你能解释为什么它不是建设性的?如果我知道它出了什么问题,我会试着更新这个问题。 – 2012-01-13 09:18:09

+0

“OMS”是......什么? http://en.wikipedia.org/wiki/OMS – skaffman 2012-01-13 09:30:05

+0

我认为它是指订单管理系统。我当然可能是错的。 – Digbyswift 2012-01-13 09:43:06

回答

1

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

计划的任务肯定会更好,因为电子邮件可以排队并可以在单独的进程中发送。

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

0

如果您应用基于消息的体系结构;您可以发布订单创建的消息,并让任意数量的订户对该事件做出响应。你可以创建一个监听器,发送内部电子邮件(定制选项)或其他监听器,调用第三方电子邮件的API以您的名义发送电子邮件(按照@Digbyswift)

我一直很喜欢关于这种方法是

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

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

鉴于此,您希望在收到订单后立即发送电子邮件,以便用户知道他们已经购买了该物品。他们越早进入他们的收件箱,越早他们会为他们购买而感到高兴。

我同意Digbyswift在将记录写入数据库后发送确认电子邮件的可扩展性最低。但是我会争辩说,如果你的系统已经到了需要接受如此多的订单以致系统无法跟上的地步,那么你现在可能有足够的资源来处理你的问题。

PostageApp,我们处理几个电子商务网站的电子邮件,所以也许你会从一个电子邮件服务提供商的安排中受益,以卸载此任务,以便您的所有资源可用于保持您的站点和您的数据库运行。

这里有一些伟大的选择,如果PostageApp是不是你的风格:

相关问题