Spe*_*r R 28 ruby actionmailer ruby-on-rails-3
我正在编写一个小型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
Run Code Online (Sandbox Code Playgroud)
我肯定会被困在哪里发表意见.我告诉ActionMailer模板所在的每一次尝试都失败了.
我想我也应该问一下是否有不同的方法可以完成这个程序.基本上,我现在正在从头开始做所有事情.显然是什么让Rails很棒是它的惯例,所以试图自己使用部分Rails浪费时间?有没有办法在不创建完整的Rails应用程序的情况下获得类似Rails的环境?
Aug*_*sto 47
经过一些严肃的调试,我找到了如何配置它.
file mailer.rb
require 'action_mailer'
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "domain.com.ar",
:authentication => :plain,
:user_name => "test@domain.com.ar",
:password => "passw0rd",
:enable_starttls_auto => true
}
ActionMailer::Base.view_paths= File.dirname(__FILE__)
class Mailer < ActionMailer::Base
def daily_email
@var = "var"
mail( :to => "myemail@gmail.com",
:from => "test@domain.com.ar",
:subject => "testing mail") do |format|
format.text
format.html
end
end
end
email = Mailer.daily_email
puts email
email.deliver
Run Code Online (Sandbox Code Playgroud)
file mailer/daily_email.html.erb
<p>this is an html email</p>
<p> and this is a variable <%= @var %> </p>
Run Code Online (Sandbox Code Playgroud)
file mailer/daily_email.text.erb
this is a text email
and this is a variable <%= @var %>
Run Code Online (Sandbox Code Playgroud)
好问题!它帮助我更多地了解Rails 3的工作方式:)
| 归档时间: |
|
| 查看次数: |
9548 次 |
| 最近记录: |