ActionMailer在生产服务器

时间:2017-04-03 07:58:33

标签: ruby-on-rails email actionmailer

我有一个动作邮件程序方法,如下所示:

def mail
 @receiver = User.where(status: 2).pluck(:email)
 mail(bcc:@receiver, to: "username@gmail.com")
end 

application.yml 看起来像这样:

SMTP_ADDRESS: 'smtp.gmail.com'
SMTP_PORT: 587
SMTP_HOST: 'localhost:3000'
SMTP_DOMAIN: 'localhost:3000'
SMTP_USERNAME: 'user@gmail.com'
SMTP_PASSWORD: 'xxxxx'
SUPER_ADMIN_EMAIL: 'super_admin@mailinator.com'

developmet.rb 如下所示:

config.action_mailer.asset_host = ENV["SMTP_HOST"]
  # config.action_mailer.delivery_method = :letter_opener
  config.action_mailer.raise_delivery_errors = false

  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    #Enter the smtp provider here ex: smtp.mandrillapp.com
    address: ENV["SMTP_ADDRESS"],
    port: ENV['SMTP_PORT'].to_i,
    #Enter the smtp domain here ex: vendaxo.com
    domain: ENV["SMTP_DOMAIN"],
    #Enter the user name for smtp provider here
    user_name: ENV["SMTP_USERNAME"],
    #Enter the password for smtp provider here
    password: ENV["SMTP_PASSWORD"],
    authentication: 'plain',
    enable_starttls_auto: true

接收者保存在BCC但是" username@gmail.com"将能够看到BCCd接收器。当我从本地主机发送邮件时,这工作正常。当接收者收到电子邮件时,所有这些都是BCC和一个' username@gmail.com'能够看到所有的接收器。

但是当我在具有类似 application.yml 配置的生产服务器上执行同样的操作时,更改主机和端口 username@gmail.com 不会收到电子邮件BCCd接收器。

1 个答案:

答案 0 :(得分:0)

我认为如果您在AWS EC2上运行生产服务器(也可能是其他提供商),每次对 application.yml 或任何其他共享文件进行一些更改时,您需要重新启动应用服务器以应用更改的配置。在我的情况下,我不得不重新启动PUMA,并且一个默认电子邮件开始获得BCCd电子邮件ID。

相关问题