Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我的在线商店可以通过Gmail同步发送订单确认电子邮件吗?_Ruby On Rails_Email_E Commerce - Fatal编程技术网

Ruby on rails 我的在线商店可以通过Gmail同步发送订单确认电子邮件吗?

Ruby on rails 我的在线商店可以通过Gmail同步发送订单确认电子邮件吗?,ruby-on-rails,email,e-commerce,Ruby On Rails,Email,E Commerce,当用户在我的在线商店完成订单时,他会收到一封电子邮件确认 目前,我们在授权用户的信用卡后,在向其显示确认信息(即同步)之前,通过Gmail发送此电子邮件(我们选择了Gmail而不是sendmail以提高便携性) 它在开发中运行良好,但我想知道这是否会导致生产中出现问题。是否需要让用户等待太长时间?大量同时连接Gmail会给我们带来麻烦吗?还有其他一般注意事项吗? 如果同步发送电子邮件将成为一个问题,有人能推荐一个异步解决方案吗(好吗?我能想到的主要问题是Gmail限制了你每天可以发送的电子邮件数

当用户在我的在线商店完成订单时,他会收到一封电子邮件确认

目前,我们在授权用户的信用卡后,在向其显示确认信息(即同步)之前,通过Gmail发送此电子邮件(我们选择了Gmail而不是sendmail以提高便携性)

它在开发中运行良好,但我想知道这是否会导致生产中出现问题。是否需要让用户等待太长时间?大量同时连接Gmail会给我们带来麻烦吗?还有其他一般注意事项吗?


如果同步发送电子邮件将成为一个问题,有人能推荐一个异步解决方案吗(好吗?

我能想到的主要问题是Gmail限制了你每天可以发送的电子邮件数量,因此如果你一天收到的订单太多,它可能会中断

正如他们所说:

“为了打击垃圾邮件和 防止滥用,谷歌将暂时 如果您发送电子邮件,请禁用您的帐户 发送给500多个收件人的邮件或 如果您发送了大量 无法传递的邮件。如果您使用 POP或IMAP客户端(Microsoft Outlook) 或苹果邮件,例如),您只能 一次向100人发送一条消息 时间到了,你的账户应该是 在24小时内重新启用。”


我建议您在服务器上使用sendmail,以便更好地控制正在发生的事情,而不依赖其他服务,尤其是当sendmail的设置并不复杂时。

我能想到的主要问题是Gmail限制了您每天可以发送的电子邮件数量,因此,如果你一天收到太多订单,它可能会中断

正如他们所说:

“为了打击垃圾邮件和 防止滥用,谷歌将暂时 如果您发送电子邮件,请禁用您的帐户 发送给500多个收件人的邮件或 如果您发送了大量 无法传递的邮件。如果您使用 POP或IMAP客户端(Microsoft Outlook) 或苹果邮件,例如),您只能 一次向100人发送一条消息 时间到了,你的账户应该是 在24小时内重新启用。”


我建议您在服务器上使用sendmail,以便更好地控制正在发生的事情,并且不依赖于其他服务,尤其是当sendmail的设置并不复杂时。

互联网的弹性不如一些人所认为的那样,你和GMail之间的链接将在某个时候中断,或者GMail将离线,导致用户认为他们没有成功支付

我会把一些其他的队列放在适当的位置,sendmail听起来可以接受,而且你现在不能创建你的站点,因为它将来可能会被托管在那里


Ryan

互联网不像一些人希望你相信的那样有弹性,你和GMail之间的链接会在某个时候中断,或者GMail会离线,导致用户认为他们没有成功支付

我会把一些其他的队列放在适当的位置,sendmail听起来可以接受,而且你现在不能创建你的站点,因为它将来可能会被托管在那里


Ryan

如果服务器在向用户提供任何反馈之前等待发送电子邮件,那么如果连接到邮件服务器时出现问题(超时、服务器关闭等),用户请求也会超时,并且不会告诉他任何有关订单状态的信息,因此我相信您确实应该异步执行此操作。
此外,你应该检查GMail的TOS是否允许这样做。如果不是这样,你可以检查如果你购买了他们的订阅,是否允许这样做。此外,在给定的时间范围内,你可能发送的电子邮件数量肯定是有限制的,因此,如果你希望你的在线商店成功,你可能会达到该限制,并遇到一些棘手的问题。如果您不是网站的自托管,您应该检查您的主机是否提供电子邮件服务器(一些计划包括免费的电子邮件服务器),因为使用主机的ISP将是最明显的选择。

如果服务器在给用户任何反馈之前等待发送电子邮件,连接到邮件服务器是否有问题(超时、服务器关闭等)用户请求也会超时,他不会被告知任何关于订单状态的信息,因此我认为您应该真正异步执行此操作。
此外,你应该检查GMail的TOS是否允许这样做。如果不是这样,你可以在购买他们的订阅时检查是否允许这样做。此外,在给定的时间范围内,你可以发送的发送电子邮件数量肯定是有限制的,所以如果你希望你的在线商店成功,你可以点击该按钮限制并遇到一些棘手的问题。如果你不是网站的自托管者,你应该检查你的主机是否提供电子邮件服务器(一些计划包括免费的),因为使用主机的ISP将是最明显的选择。

事实:Gmail崩溃。不经常,但会发生,你无法控制或测试它

最简单的快速修复方法是启动一个单独的线程或分支子进程来发送电子邮件。是的,使用Gmail可能会出现问题,与其他方法相比,我真的没有任何意见。但是从设计角度来看,没有理由让用户等待该进程完成

从测试的角度来看,这可能是代理模式派上用场的地方。直接调用Gmail发送消息可能很容易。让它更难。放入一个代理对象,为您发送邮件,您可以关闭它(因为天知道,出于测试目的,您无法使Gmail崩溃)。只需关闭代理并尝试完成订单,让您的团队了解发生电子邮件故障时发生的情况。如果您是同步进行的,那么其他海报中提到的所有问题都会引起他们的注意。如果您是异步进行的,您应该能够