大家好。我在新的 ubuntu 服务器上启动并运行了一个新应用程序。它通常工作正常,但我无法让 ar_sendmail 工作。我正在遵循此页面上的说明:http: //www.ameravant.com/posts/sending-tons-of-emails-in-ruby-on-rails-with-ar_mailer
设置全部完成,即我可以“发送邮件”,它只是将记录保存在我的电子邮件表中。现在我想让 ar_sendmail 守护进程运行以实际发送它们。(所以我在该网页中的“以守护程序模式运行 ar_sendmail”)。
第一件事:
ar_sendmail --mailq
>>ar_sendmail: command not found
好的...那么,ar_sendmail 在哪里?我看了一下,在 ar_mailer 插件的 bin 文件夹中有一个 ar_sendmail 文件,所以我将它的位置添加到我的路径中。我不知道这是否是正确的做法。
好的,所以再试一次。
ar_sendmail --mailq
/var/www/apps/millionaire/vendor/plugins/ar_mailer/bin/ar_sendmail:3:in `require': no such file to load -- action_mailer/ar_sendmail (LoadError)
from /var/www/apps/millionaire/vendor/plugins/ar_mailer/bin/ar_sendmail:3
唔。这是有问题的文件,那里没有多少。
#!/usr/bin/env ruby
require 'action_mailer/ar_sendmail'
ActionMailer::ARSendmail.run
好的......所以它实际上只是试图要求这个并且找不到它。文件 action_mailer/ar_sendmail.rb 位于 ar_mailer 插件的 lib 文件夹中。那么,鉴于它是从插件内部调用的,它应该能够看到这一点吗?
我有一种感觉,我在这里偏离了轨道,错过了一些简单的事情。谁能让我直截了当?我正在使用 rails 2.3.4 以防万一。
编辑-我刚刚意识到有些愚蠢:当我像这样从命令行调用 ar_sendmail 时,我只是加载了一个文件,我认为它不知道应该在哪里寻找其余的东西。这真的让我觉得我没有试图运行正确的事情。ar_sendmail 守护进程是否完全是一个单独的程序,我会用 apt_get 或其他什么东西获得?
EDIT2 - 我通过安装 ar_mailer gem(指南说我不应该这样做)取得了一些进展,而且似乎确实可以运行。它正在某处发送一些邮件请求并清除待处理电子邮件的电子邮件表。在 -ov(oneshot 口头)模式下运行 ar_sendmail 我看到它报告了这个,例如:
将电子邮件 00000000019 从 from@address.com 发送到 to@address.com:#
所以,它实际上看起来现在正在工作,我只需要设置发送电子邮件的实际事物。叹。仍然感谢任何建议。
谢谢,最大