首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用whenever每周发送电子邮件

使用whenever每周发送电子邮件
EN

Stack Overflow用户
提问于 2012-12-03 02:52:40
回答 2查看 1.8K关注 0票数 0

我正试着向我的应用程序的所有用户发送一封电子邮件。

为了做到这一点,我使用了whenever。

因此,我有一个/config/initializer/setup_mail.rb文件,其中包含我的配置smtp:

代码语言:javascript
复制
ActionMailer::Base.smtp_settings = {
    :tls => true,
    :address => "smtp.gmail.com",
    :port => "587",
    :domain => "miiaou.fr",
    :authentication => :plain,
    :user_name => "test.cicelle",
    :password => "myPasswordGoogle"
}

ActionMailer::Base.default_url_options[:host] = "miiaou.fr"

在我的user.rb模型中:

代码语言:javascript
复制
def self.mail_recap_semaine
    @user = User.all
    @user.each do |u|
      UserMailer.mail_recap_semaine(u.email).deliver
    end
  end

在user_mailer.rb中

代码语言:javascript
复制
def mail_recap_semaine(email)
    mail(:to => email, :subject => "Weekly email from footyaddicts")
  end

在schedule.rb中(每隔10分钟,所以我可以看看它是否工作)

代码语言:javascript
复制
every 10.minutes do
   runner "User.mail_recap_semaine"
end

当我在rails控制台中运行User.mail_recap_semaine时,我得到了很多关于我的用户的信息,但是我没有收到任何邮件。

我怎么能看到bug在哪里呢?谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-12-03 19:36:14

为了调试发送邮件时出现的错误或问题,您需要更改config/development.rb或config/production.rb的配置设置,以引发action mailer的错误,如下所示。

config.action_mailer.raise_delivery_errors = true

默认情况下,它被设置为false,因此您不会得到任何错误。

希望,这很有帮助。

谢谢,

Mani

票数 0
EN

Stack Overflow用户

发布于 2012-12-03 23:39:24

好吧,是:tls破坏了代码。

现在,我在rails控制台中的命令运行得很好,可以发送电子邮件,但and仍然不起作用。

crontab -l

代码语言:javascript
复制
# Begin Whenever generated tasks for: miiaou
0,10,20,30,40,50 * * * * /bin/bash -l -c 'cd /home/miiaou/miiaou && script/rails runner -e production '\''User.mail_recap_semaine'\'''

# End Whenever generated tasks for: miiaou

我已经重新启动了服务器,但是我没有收到任何东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13672560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档