美文网首页
rails mailer

rails mailer

作者: 33d8e4ec2cc9 | 来源:发表于2015-09-27 15:20 被阅读128次

    归纳一下怎么用rails的mailer来发送邮件

    首先先创建Mailer文件

    rails g mailer UserMailer

    会生成以下文件

    create  app/mailers/user_mailer.rb
    create  app/mailers/application_mailer.rb
    create    app/views/user_mailer
    create    app/views/layouts/mailer.text.erb
    create    app/views/layouts/mailer.html.erb

    然后进入mailers文件里的user_mailer.rb进行配置,如果你只是想发一封简单的邮件,可以把 classUserMailer < ApplicationMailer改成 UserMailer < ActionMailer::Base,使用  default from:"xxx"来设定发件人的名字,然后就可以开始写发邮件的方法了

    def deliver_mail
      address = xxx@xxx.com
      mail(to: address, subject: '这是一封邮件')
    end

    当然你也可以接受参数,从而使收件人成为一个变量,甚至你也可以在邮件里添加附件
    使用
    attachments["your_file"] = File.read(your_file)来发送一封带有附件的邮件

    接下来去编写邮件的页面和样式
    去view下的user_mailer下面创建和你发邮件方法名相同的html
    deliver_mail.html.erb
    里面可以按自己的需求来写。

    之后你就可以在任何你想要发邮件的时候通过调用这个方法来发送邮件

    UserMailer.deliver_mail.deliver_now可以立即发送
    当然你也可以不立即发送而是选择过一会
    用.deliver_later(wait:1.hour)可以一个小时后发送

    相关文章

      网友评论

          本文标题:rails mailer

          本文链接:https://www.haomeiwen.com/subject/whewcttx.html