我正在编写一个小的 Ruby 程序,每天从数据库中获取记录并发送 HTML 邮件。我尝试使用 ActionMailer 3.0.3 实现这个功能,但是遇到了问题。到目前为止,我所做的所有关于在 Rails 之外使用 ActionMailer 的搜索都适用于版本 3 之前的版本。有人能指导我在哪里找到如何实现这一点的资源吗?下面是我的邮件发送文件:
# lib/bug_mailer.rb
require 'action_mailer'
ActionMailer::Base.delivery_method = :file
class BugMailer < ActionMailer::Base
def daily_email
mail(
:to => "example@mail.com",
:from => "example@mail.com",
:subject => "testing mail"
)
end
end
BugMailer.daily_email.deliver
我肯定不知道该把视图放在哪里。 我尝试让ActionMailer知道我的模板所在的位置,但每次都失败了。
我想我也应该问一下是否有不同的方法来完成这个程序。 基本上,我现在正在从零开始做所有事情。 显然,Rails之所以很棒就是它的约定,那么单独使用Rails的部分是否浪费时间? 有没有一种方法可以创建类似于Rails的环境而不必创建完整的Rails应用程序?
bugs_email/lib/bug_mailer.rb
。视图在这里:bugs_email/lib/bug_mailer/daily_email.html.erb
。所以除非我漏掉了什么(这是有可能的!),否则我已经按照那个例子设置好了。 - Spencer Rdaily_email
方法内部的mail()
方法调用中添加了这行代码:body => File.read(File.dirname(__FILE__) + "/../views/bug_mailer/daily_email.html.erb")
。所以,现在我可以愉快地使用它啦! - Spencer R