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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Devise配置ActionMailer以允许来自不同用户的电子邮件。相关的知识,希望对你有一定的参考价值。

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

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

这是您设置微软交换所遵循的链接。 “qazxsw poi”

我已经尝试使用Devise Doc来设置邮件程序以指定我的FROM,但仍然无效..“https://www.brownwebdesign.com/blog/connecting-rails-to-microsoft-exchange-smtp-email-server

https://github.com/plataformatec/devise/wiki/How-To:-Use-custom-mailer

我是开发人员,并没有改变邮件设置。这是我的邮件。我的控制器正在使用current_user,并且正在正确记录。

    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
答案

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

1) 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

2)Rails: change default sender in action mailer

希望这有助于某人!

以上是关于使用Devise配置ActionMailer以允许来自不同用户的电子邮件。的主要内容,如果未能解决你的问题,请参考以下文章

Rails 3 using Devise:如何允许某人使用他们的 Facebook 帐户登录?

如何配置 Devise for Ruby on Rails 以将电子邮件和密码存储在用户模型之外的其他位置?

如何使用 Actionmailer/Ruby on Rails 发送具有多个动态 smtp 的电子邮件

如何删除设计路线以进行注册?

在 Rails3 / ActionMailer 中设置 Message-ID 邮件头

集成测试ActionMailer和ActiveJob