【发布时间】:2010-04-08 16:05:48
【问题描述】:
大家好。我在新的 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(指南说我不应该这样做)取得了一些进展,并且似乎确实可以运行。它正在发送一些邮件请求 somewhere 并清除待处理电子邮件的电子邮件表。在 -ov(oneshot 口头)模式下运行 ar_sendmail 我看到它报告了这个例如:
将电子邮件 00000000019 从 from@address.com 发送到 to@address.com:#
所以,它实际上看起来现在正在工作,我只需要设置发送电子邮件的实际事物。叹。仍然感谢任何建议。
谢谢,马克斯
【问题讨论】:
-
你是如何让
ar_mailer和 sendgrid 工作的。ar_mailer要求我将config.action_mailer.delivery_method设置为:activerecord并使用 sendgrid,我需要将其设置为:smtp。我错过了什么吗?谢谢!
标签: ruby-on-rails sendmail sendgrid ar-mailer