首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 4.2 Mailer问题-无法让mailer工作

Rails 4.2 Mailer问题-无法让mailer工作
EN

Stack Overflow用户
提问于 2015-11-28 21:43:18
回答 1查看 47关注 0票数 0

我不知道到底是怎么回事。我有一个RoR服务器,我将定期通过电子邮件向用户发送通知。我目前调用rails代码的方式是:

代码语言:javascript
复制
$ bundle exec rails r "ProjectDueMailer.test_email"

这是邮递员代码:

代码语言:javascript
复制
class ProjectDueMailer < ApplicationMailer
  default from: '<email>@gmail.com'

  def test_email
    mail(to: '<email>@gmail.com', subject: "This is a test!")
    puts "email sent"
  end
end

显然,用正确的电子邮件替换<email>。同样,配置是:

代码语言:javascript
复制
  config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    address: 'smtp.gmail.com',
    port: 587,
    user_name: '<email>@gmail.com',
    password: '<password>',
    authentication: "plain",
    enable_starttls_auto: true }

每当我像这样运行rails运行时,什么都不会发生。它停了一会儿,然后我得到了下一条壳线。如果我将def test_email更改为def self.test_email,则会得到以下错误:

undefined method 'mail' for ProjectDueMailer:Class

我在这里真是不知所措。我有test_email.html|text.erb文件,我使用rails g mailer ProjectDueMailer生成了邮件程序,所以有ApplicationMailer类。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-28 22:05:13

要发送电子邮件,您应该调用deliver_now方法:

代码语言:javascript
复制
ProjectDueMailer.test_mail.deliver_now
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33976772

复制
相关文章

相似问题

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