gpt4 book ai didi

ruby - 没有 Rails 的 ActionMailer 3

转载 作者:数据小太阳 更新时间:2023-10-29 06:26:53 26 4
gpt4 key购买 nike

我正在编写一个小的 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 的环境?

最佳答案

经过一番认真的调试,我找到了如何配置它。

文件 ma​​iler.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

文件 ma​​iler/daily_email.html.erb

<p>this is an html email</p>
<p> and this is a variable <%= @var %> </p>

文件 ma​​iler/daily_email.text.erb

this is a text email

and this is a variable <%= @var %>

好问题!它帮助我更多地了解 Rails 3 的工作原理:)

关于ruby - 没有 Rails 的 ActionMailer 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4951310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com