Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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 3 平均发送1封电子邮件的时间(Heroku Rails 3 ActionMailer>;通过SMTP发送谷歌应用程序)_Ruby On Rails 3_Heroku_Smtp_Actionmailer_Google Apps - Fatal编程技术网

Ruby on rails 3 平均发送1封电子邮件的时间(Heroku Rails 3 ActionMailer>;通过SMTP发送谷歌应用程序)

Ruby on rails 3 平均发送1封电子邮件的时间(Heroku Rails 3 ActionMailer>;通过SMTP发送谷歌应用程序),ruby-on-rails-3,heroku,smtp,actionmailer,google-apps,Ruby On Rails 3,Heroku,Smtp,Actionmailer,Google Apps,我平均每封邮件大约2000毫秒这正常吗?您能给我一些应用程序中的时间示例吗?电子邮件可以很好地发送。我知道我可能应该使用DelayedJob或像SendGrid这样的SMTP中继,但我猜它的方式太长了,存在一个潜在的问题 2012-06-13T21:28:55+00:00 app web.1 - - Sent mail to ... (7856ms) 2012-06-13T21:28:57+00:00 app web.1 - - Sent mail to ... (2003ms) 2012-06

我平均每封邮件大约2000毫秒这正常吗?您能给我一些应用程序中的时间示例吗?电子邮件可以很好地发送。我知道我可能应该使用DelayedJob或像SendGrid这样的SMTP中继,但我猜它的方式太长了,存在一个潜在的问题

2012-06-13T21:28:55+00:00 app web.1 - - Sent mail to ... (7856ms)
2012-06-13T21:28:57+00:00 app web.1 - - Sent mail to ... (2003ms)
2012-06-13T22:24:42+00:00 app web.1 - - Sent mail to ... (3094ms)
2012-06-13T22:24:43+00:00 app web.1 - - Sent mail to ... (1722ms)
2012-06-14T02:20:37+00:00 app web.1 - - Sent mail to ... (5932ms)
2012-06-14T02:22:16+00:00 app web.1 - - Sent mail to ... (1830ms)
2012-06-14T02:22:18+00:00 app web.1 - - Sent mail to ... (1740ms)
如果没有,我如何调试花了这么长时间的东西?

(顺便说一句,收集这些数据时受到了震动)

我的后代SMTP设置:

ActionMailer::Base.smtp_settings = {
  :address => "smtp.gmail.com",
  :port => 587,
  :domain => "example.com",
  :authentication => "plain",
  :user_name => "mail@example.com",
  :password => "...",
  :enable_starttls_auto => true 
}

不,这是平均水平。我有一个应用程序,我在功能强大的服务器上运行,我自己的机器上,甚至是一个简单的低端服务器上运行,它们通常都是在大约相同的时间运行来发送它。这和在和谷歌交谈时的身份验证或者你通过谁发送信息有关

我的应用程序会在用户点击我屏幕上的“电子邮件”按钮后立即发送电子邮件,然后需要一两秒钟的时间才能在屏幕上弹出警报,让我知道它已成功发送。我使用的Google Apps Gmail帐户与您在Rails项目中的ActionMailer::Base.smtp_设置中列出的信息相同,与我的业务相关

原因通常是因为它正在连接到谷歌,验证它并让谷歌发送

从技术上讲,如果使用Linux或Mac,您可以在自己的服务器上使用sendmail。Sendmail的工作速度更快,因为它是从服务器本身发送的,而不是连接到google然后进行身份验证

我在发送大量电子邮件(如新闻信函等)时为客户机执行了此操作。这种方法的问题是,电子邮件的标题没有来自真实邮件服务器(如Gmail、Hotmail等)的任何身份验证,证明发送邮件的人实际上是从google/Hotmail/etc服务器发送的,有时可能被视为垃圾邮件,因为它不是真正的真实邮件。关于如何做到这一点,有很多指南,就像我刚刚发现的这一条:

你还可以使用很多其他工具,这取决于你的工作风格

小心,如果你走这条路线,你的邮件可能会被视为垃圾邮件。如果客户知道他们会得到它,它通常会通过刚刚好虽然

如果您仍然希望使用当前使用的方法发送邮件,我建议您在后台使用队列处理电子邮件,这样会更快,并且在使用应用程序时不会对用户造成任何延迟


我希望这有助于回答您的问题。

不,这是平均水平。我有一个应用程序,我在功能强大的服务器上运行,我自己的机器上,甚至是一个简单的低端服务器上运行,它们通常都是在大约相同的时间运行来发送它。这和在和谷歌交谈时的身份验证或者你通过谁发送信息有关

我的应用程序会在用户点击我屏幕上的“电子邮件”按钮后立即发送电子邮件,然后需要一两秒钟的时间才能在屏幕上弹出警报,让我知道它已成功发送。我使用的Google Apps Gmail帐户与您在Rails项目中的ActionMailer::Base.smtp_设置中列出的信息相同,与我的业务相关

原因通常是因为它正在连接到谷歌,验证它并让谷歌发送

从技术上讲,如果使用Linux或Mac,您可以在自己的服务器上使用sendmail。Sendmail的工作速度更快,因为它是从服务器本身发送的,而不是连接到google然后进行身份验证

我在发送大量电子邮件(如新闻信函等)时为客户机执行了此操作。这种方法的问题是,电子邮件的标题没有来自真实邮件服务器(如Gmail、Hotmail等)的任何身份验证,证明发送邮件的人实际上是从google/Hotmail/etc服务器发送的,有时可能被视为垃圾邮件,因为它不是真正的真实邮件。关于如何做到这一点,有很多指南,就像我刚刚发现的这一条:

你还可以使用很多其他工具,这取决于你的工作风格

小心,如果你走这条路线,你的邮件可能会被视为垃圾邮件。如果客户知道他们会得到它,它通常会通过刚刚好虽然

如果您仍然希望使用当前使用的方法发送邮件,我建议您在后台使用队列处理电子邮件,这样会更快,并且在使用应用程序时不会对用户造成任何延迟


我希望这有助于回答您的问题。

那么您最终会推荐什么?听起来像:
创建后台作业
使用谷歌smtp发送电子邮件
通过sendgrid smtp中继
是。我总是建议使用某种后台排队作业,这样可以使事情变得非常高效。至于发送,如果由于大量电子邮件列表,您需要加快发送速度,那么使用sendmail或sendgrid并在服务器上进行发送是理想的选择。只是不要被列为垃圾邮件服务器的黑名单。如果你不在乎时间,因为你一次只发送几封,或者担心你的电子邮件被视为垃圾邮件,那么就选择谷歌路线。不过,我会先尝试sendmail/sendgrid方法,看看它是否能给您带来任何额外的改进。那么,您最终会推荐什么?听起来像:
创建后台作业
使用谷歌smtp发送电子邮件
通过sendgrid smtp中继
是。我总是建议使用某种后台排队作业,这样可以使事情变得非常高效。至于发送,如果由于大量电子邮件列表,您需要加快发送速度,那么使用sendmail或sendgrid并在服务器上进行发送是理想的选择。只是不要被列为垃圾邮件服务器的黑名单。如果你不能