如何使用给定的密码凭证从rails应用程序中的帐户发送邮件?

时间:2016-07-17 04:45:07

标签: ruby-on-rails-3 email ruby-on-rails-4 gmail

我正在实施我的一个客户要求......即,   使用给定的密码凭据从应用程序中的帐户发送邮件 看到这种方法之一后,我也很惊讶,即

        https://www.freshsales.io/ 

我正在通过此网络发送邮件...但所有发送的邮件都在我的Gmail邮件中发送了... 我通过设置配置文件

尝试这种方式
     config.action_mailer.perform_deliveries = true

    config.action_mailer.default_url_options = { host: 'localhost', port: 9292}
      config.action_mailer.delivery_method = :smtp
      ActionMailer::Base.smtp_settings = {
      address:        'imap.gmail.com'or'imap.hotmail.com'or'imap.yahoo.com', # default: localhost
     port:           '993',                  # default: 25
     user_name:      'debasish.industrify2016@gmail.com',
        password:       'deb@industrify',
       authentication: :plain                 # :plain, :login or :cram_md5
      }

任何人都告诉我他们使用的是哪种方法或协议?

1 个答案:

答案 0 :(得分:0)

该网站未提供邮件服务。 在您的示例中,您将debasish.industrify2016@gmail.com指定为邮件传递服务帐户,我相信您使用gmail进行邮件服务,然后config/production.rb中的配置文件应该具有以下内容:

config.action_mailer.smtp_settings = {
  address: "smtp.gmail.com", # or imap.gmail.com
  port: 587,
  domain: "gmail.com", 
  authentication: "plain",
  user_name: "user_name", # without @domain
  password: ENV.fetch("SMTP_PASSWORD"),
  authentication: :plain
}

密码和user_name不应该直接放弃,而应该在您的应用程序中设置为 ENVIRONMENT VARIABLES ,我想这可能是您要求的。

如何设置 ENV 取决于您的生产服务器:

e.g。 Heroke:

heroku config:set SMTP_PASSWORD=deb@industrify

至于邮件协议,我只使用stmp,您当然可以使用imappop3the difference