线程在Ruby中发送邮件

时间:2014-02-28 08:48:50

标签: ruby-on-rails ruby multithreading email

我是ruby中的新手,我希望每天晚上9点发送邮件并提供数据,以便在ruby中执行此操作的任何想法(线程) 这是我发送邮件的代码:

message = <<MESSAGE_END
From: TEST <test@test.com>
To: A Test User <tes2t@test.com>
Subject:  Feedback mail status reminder

This is a test e-mail message.
MESSAGE_END

Net::SMTP.start('localhost') do |smtp|
  smtp.send_message message, 'test@test.com',
                         'test2@test.com'
end

由于

3 个答案:

答案 0 :(得分:1)

Sidekiq也是一个更好的选择。您可以在特定时间运行您的工作,它将使用backgorund中的redis服务器运行。

'app/'文件夹中创建工作人员,并使用controller / Model方法进行调用。设置初始化文件sidekiq.rb以指定要引导的所有环境的Redis队列。

检查以下给定的链接以供参考。

  1. https://github.com/mperham/sidekiq
  2. http://sidekiq.org/
  3. http://railscasts.com/episodes/366-sidekiq
  4. 希望它有所帮助。

答案 1 :(得分:0)

你可以随时使用gem',如下所示:

every :day, :at => '12:00am' do

亚军“AAA.xxx” 端

和你的代码:

message = <<MESSAGE_END

来自:TEST 致:测试用户 主题:反馈邮件状态提醒

这是一封测试电子邮件。 MESSAGE_END

作为方法xxx

答案 2 :(得分:0)

在ruby on rails上,也许你可以使用rufus-scheduler。在config \ initializers下创建一个rb文件。添加一些代码,如:

scheduler.cron '0 21 * * *' do
    # call your function method or implment the function
end

有关详细信息,请参阅rufus-scheduler