gpt4 book ai didi

ruby-on-rails - Rails 3/delayed_job - 通缉 : Basic example of delayed mail

转载 作者:行者123 更新时间:2023-12-04 16:41:26 26 4
gpt4 key购买 nike

我一直试图弄清楚如何使用带有 rails 3 的 delay_job 发送延迟邮件。我已经尝试了几乎所有我能想到的可行可能性的组合 - 我可以让邮件在后台运行,我只是可以' t 让它延迟发送到 future 的时间。数据库中的 delay_jobs 表清除任务,日志显示“已发送”,delay_job 任务处理器拿起任务并说已发送而没有失败......但邮件是:

  • 立即发送,或
  • 根本就没有到

  • 如果我将来尝试发送。

    如果有人可以提供一个在 future 发送邮件的 rails 3 delay_job 的基本示例,我会非常感激。我相信很多人都会这样做,所以我怀疑我遗漏了一些明显的东西。我在下面尝试过的(无数)组合之一:

    延迟作业:2.1.2
    rails :3.0.3
    Action 邮件程序:3.0.3

    Controller :
    class TestmailerController < ApplicationController
    def index
    Testmailer.delay.test_mail
    end

    end

    postman :
    class Testmailer < ActionMailer::Base
    def test_mail
    mail(:to => '(myemailaddress@removedforprivacy.com', :from => '(removedforprivacy)@gmail.com', :subject => 'Testing Delayed Job', :content_type => 'text/plain').deliver
    end
    handle_asynchronously :test_mail, :run_at => Proc.new { 2.minutes.from_now }


    end

    config/environments/development.rb 的相关邮件部分:
      # Don't care if the mailer can't send
    config.action_mailer.raise_delivery_errors = true

    # Print deprecation notices to the Rails logger
    config.active_support.deprecation = :log

    config.action_mailer.default_url_options = { :host => 'localhost:3000' }

    ActionMailer::Base.smtp_settings = {
    :address => "smtp.gmail.com",
    :port => 587,
    :domain => "gmail.com",
    :user_name => "(removedforprivacy)",
    :password => "(removedforprivacy)",
    :authentication => "plain",
    :enable_starttls_auto => true
    }

    作业命令:
    rake jobs:work

    最佳答案

    我同意 andrea - 我遇到了这个确切的问题,在将我的本地开发数据库从 sqlite 切换到 mysql 后,我可以运行类似的代码

    Emailer.delay({:run_at => 5.minutes.from_now}).welcome(@user)

    它会在 5 分钟后发送电子邮件。请注意,您可能需要比五分钟更长的延迟(在时区奇怪的情况下)以确保它正常工作。

    关于ruby-on-rails - Rails 3/delayed_job - 通缉 : Basic example of delayed mail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4503400/

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