使用Devise配置ActionMailer以允许来自不同用户的电子邮件。

时间:2018-04-11 00:02:14

标签: ruby-on-rails devise actionmailer

问题:如何设置我的邮件/设计以允许"来自"来自current_user.email而不只是一封电子邮件?

说明:我已连接我的rails邮件程序以使用Microsoft Exchange。一切都很好,但我遇到的问题是"来自"在电子邮件中(development.rb,mailer和devise.rb)必须相同才能使电子邮件发送出去。 我们的应用程序有不同的管理员用户,我们希望外发电子邮件来自他们的电子邮件而不是一封。

  

这是我设置microsoft exchage的链接。   " https://www.brownwebdesign.com/blog/connecting-rails-to-microsoft-exchange-smtp-email-server"

     

我尝试使用Devise Doc设置邮件程序来指定我的FROM,但仍然无法正常工作..   " https://github.com/plataformatec/devise/wiki/How-To:-Use-custom-mailer"

    def confirmation_instructions(record, token, opts={})
      headers["Custom-header"] = "Bar"
      opts[:from] = 'my_custom_from@domain.com'
      opts[:reply_to] = 'my_custom_from@domain.com'
      super
    end

我是开发人员,并且在更改邮件设置方面做了很多工作。 这是我的邮件。我的控制器正在使用current_user,并且正在正确记录。

    class FeedbackMailer < ActionMailer::Base
        default to: "JohnDoe@gmail.com"

        def question_email(email, type, notes, current_user)
            @user_email = current_user.email
            logger.debug("Are you getting the email or what? # . 
  {@user_email.inspect}")
            logger.debug("LOOKING FOR THE EMAIL #{email}")
            @email = email
            @type = type
            @notes = notes

            mail( from: "xxx@microsoft.com", subject: 
     "You have Feedback")

        end 
    end

1 个答案:

答案 0 :(得分:0)

我多次改变搜索后,在另一篇文章中找到了答案...  “大多数SMTP提供商(Gmail等)不允许您从与您登录到SMTP服务器的帐户关联的地址以外的地址发送电子邮件,在您的情况下可能是默认地址在您的应用中配置。如果您考虑一下,这对安全/垃圾邮件保护很有意义。您是否希望任何人能够发送显示您的电子邮件地址作为发件人地址的电子邮件?我肯定不会。另一种方法是使用:reply_to。当你在电子邮件程序中点击回复时,它应该使用它,如果存在的话。“


1)Rails: change default sender in action mailer

2)Rails 3.2, how to change :from value in a mailer instead default (GMail)

希望这有助于某人!