在Rails应用程序我设置以下参数一个新的临时环境在其environments/
文件的电子邮件发送:控制记录和在不同环境
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
然而,当系统生成的电子邮件时,打印到staging.log
文件而不是被发送。我的SMTP设置在其他环境中正常工作。我错过了什么配置让电子邮件实际发送?
编辑:是的,临时文件夹设置有效的配置为它有权访问的SMTP服务器。这似乎是问题不在SMTP设置(如果是这样,我不会在日志中得到错误?),但与Rails配置。应用程序仍然将电子邮件重定向到日志文件(称为“发送邮件:...”),而不是实际通过SMTP。
编辑#2:它看起来像电子邮件实际上一直在正确发送,他们只是碰巧打印到日志。我正在尝试使用sanitize_email
gem将邮件重定向到另一个地址,而且这似乎不起作用,这就是为什么我认为电子邮件没有出去。所以我认为这解决了我的问题,尽管我仍然很好奇ActionMailer的设置控制着电子邮件是发送,记录到日志文件还是两者。
编辑#3:sanitize_email
的问题归结为我需要将新的临时环境添加到ActionMailer::Base.local_environments
。我将继续讨论这个问题,看看是否有人可以回答我的最后一个问题(确定ActionMailer的电子邮件是发送出去,是否记录到日志文件,或两者兼而有之?)
请问您的登台盒是否有可用的SMTP服务器? – jdl 2011-01-05 01:19:56
您是否使用localhost,端口25和某个域来设置config.action_mailer.smtp_settings? – marko 2011-01-05 18:06:04