Rails Action Mailer使用常规gmail帐户,但不使用gsuite商业帐户

时间:2018-12-30 07:31:29

标签: ruby-on-rails email actionmailer gsuite

我当前正在使用这些smtp设置来发送带有动作邮件的电子邮件

  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    address:              'smtp.gmail.com',
    port:                 587,
    domain:               'gmail.com',
    user_name:            'myusername@gmail.com',
    password:             'mypassword',
    authentication:       'plain'
  }

这实际上有效。但是,我不想使用我的个人gmail帐户发送电子邮件。我宁愿使用我的公司电子邮件。我想要这样的东西:

config.action_mailer.smtp_settings = {
    address:              'smtp.gmail.com',
    port:                 587,
    domain:               'gmail.com',
    user_name:            'username@mydomain.com',
    password:             'appspecificpassword',
    authentication:       'plain'
    # enable_starttls_auto: true
    # ^ ^ remove this option ^ ^
  }

以下是一些信息

  • 首先,我已经在我的gsuite帐户上创建了一个应用密码,然后将密码粘贴到smtp设置块中。
  • 我在gsuite电子邮件中启用了2因素验证,这就是为什么我使用应用专用密码。
  • 当我运行第二段代码(我的gsuite电子邮件)时,出现Net :: SMTPAuthenticationError错误,并且它还表示用户名和密码未接受...
  • 我不知道这是否与任何事情有关,但是我的域名来自namecheap,并且我正在使用DigitalOcean处理我的域名

感谢您的帮助。

我使用过的其他帖子:

我想我没有得到任何答案,因为我的问题用词不正确。如果您对问题本身有任何建议,欢迎反馈。这是我已经研究了一段时间的东西,但是找不到任何可以在任何地方使用的解决方案。

1 个答案:

答案 0 :(得分:1)

请使用以下配置

interface

如果以上配置对您不起作用,请执行以下操作

此gmail配置中,可能是导致此问题的原因。我不确定会导致config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => "smtp.gmail.com", :port => 587, :domain => 'sample.com', :user_name => 'notifications@sample.com', :password => 'sample123', :authentication => 'plain', :enable_starttls_auto => true }

这是guide,允许不安全的应用程序

  

更改设置以允许安全性较低的应用程序进入您的帐户。

     

我们不建议您使用此选项,因为它可以使他人更容易进入您的帐户。如果仍然要允许访问,请按照以下步骤操作:

     
      
  1. 转到我的帐户的“ Less secure apps”部分。
  2.   
  3. 打开允许安全性较低的应用。 (注意:如果您的管理员锁定了不太安全的应用程序帐户访问权限,则此设置将被隐藏。)
  4.   

我也为此问题找到了类似的帖子,例如,在此so question中解决了类似的问题