2010-06-03 42 views
2

我有actionmailer设置。电子邮件没有被发送,也没有错误。调试Actionmailer

从哪里可以开始我的搜索调试?

class Notifier < ActionMailer::Base 

default_url_options[:host] = APP_DOMAIN 

def email_blast(user, subject, message) 
subject subject 
from NOTIFIER_EMAIL 
recipients user.email 
sent_on Time.zone.now 
body :user => user.first_name + ' ' + user.last_name, :message => message 
end 

我确实收到了我的日志中发送的电子邮件,只是没有发送实际的电子邮件。

此外,原因,这是行不通的,因为我将一个群集切换到一个单独的盒子和一些服务器设置被覆盖。我怀疑这可能是这不起作用的原因。任何人都知道我必须查看哪些特定的服务器设置?

UPDATE:

ActionMailer::Base.delivery_method = :sendmail 
config.action_mailer.default_url_options = { :host => "75.101.153.93" } 

我在production.rb发现了这个。这段代码最初在这里工作。同样,我相信一定有什么东西失踪我server..I做了“这sendmail的”和它返回的/ usr/bin中/ sendmail的,所以我加了这一点:

config.action_mailer.raise_delivery_errors = false 
config.action_mailer.perform_deliveries = true 
config.action_mailer.sendmail_settings = { 
:location  => '/usr/bin/sendmail', 
:arguments  => '-i -t' 
} 

调动,重新启动服务器,并对其进行测试。没有邮件发送。

的production.log说了一句被派往:

Processing MediaController#create_a_video (for 173.161.167.41 at 2010-06-03 11:58:13) [GET] 
    Parameters: {"action"=>"create_a_video", "controller"=>"media", "organization_id"=>"470",  "_"=>"1275591493194"} 
Sent mail to [email protected] 
Rendering media/create_a_video 
Completed in 128ms (View: 51, DB: 1) | 200 OK [http://invent.hqchannel.com/organizations/470/media/create_a_video?_=1275591493194] 
+0

请详细说明。你是否托管了一个虚拟主机提供商,运行你自己的机器,拥有虚拟机还是什么? – barrycarter 2010-06-03 13:58:10

+0

你确定你的机器上仍然有类似sendmail,postfix或其他邮件服务器的东西吗? – theIV 2010-06-03 14:09:52

+0

它的sendmail。但其遗漏的东西仍然存在。 – Trip 2010-06-03 17:40:46

回答

-26

How to Send Email with Ruby on Rails

对谷歌搜索第一个结果轨电子邮件

+0

这是在我的配置/ production.rb - ActionMailer :: Base.delivery_method =:sendmail config.action_mailer.default_url_options = {:host =>“75.101.153.93”} 这怎么可能以前工作?也许这连接到缺少的服务器中的东西? – Trip 2010-06-03 14:21:19

+0

它可能使用maild,位于该服务器上的服务用于处理电子邮件。确保已安装。出现您尝试使用此代码时看到的任何错误消息。 – mcandre 2010-06-03 14:28:56

+0

其实它是sendmail。我正在更新上面的代码。 – Trip 2010-06-03 17:38:11