是否可以从当前用户电子邮件发送电子邮件?

时间:2018-04-05 20:03:26

标签: ruby-on-rails ruby email smtp actionmailer

我正在为公司开发一个内部运营经理,他们需要向他们的客户发送自动电子邮件,但电子邮件必须通过负责该特定客户的公司运营商的电子邮件地址发送。< / p>

基本上,我需要配置我的邮件程序以处理N个不同的电子邮件(我也可以访问他们的电子邮件密码)。

  config.action_mailer.smtp_settings = {
    :address        => 'smtp.office365.com',
    :port           => '587',
    :authentication => :login,
    :user_name      => ENV['SMTP_USERNAME'],
    :password       => ENV['SMTP_PASSWORD'],
    :domain         => 'interworldfreight.com',
    :enable_starttls_auto => true
  }

我已经看到可以通过这种方式将电子邮件地址发送到邮件程序配置:

def new_mail
  mail from: "example@example.com", to: "user@example.com"
end

但是密码怎么样呢?这可能只通过rails来实现,还是应该考虑像MailGun这样的其他工具?

非常感谢您花一点时间阅读本文。

1 个答案:

答案 0 :(得分:0)

显然,您可以使用用户名,主机和密码发送delivery_options对象。

class FclExwOperationMailer < ApplicationMailer

    def info_request (representative, shipper)
      @representative = representative
      @shipper  = shipper
      delivery_options = { user_name: representative.smtp_user,
                           password: representative.smtp_password,
                           address: representative.smtp_host }
      mail(to: shipper.email,
           subject: "Please see the Terms and Conditions attached",
           delivery_method_options: delivery_options)
    end

end