Ruby on rails 为什么我没有收到所有来自rails5申请的邮件?

Ruby on rails 为什么我没有收到所有来自rails5申请的邮件?,ruby-on-rails,gmail,actionmailer,contact-form,Ruby On Rails,Gmail,Actionmailer,Contact Form,我部署了一个带有联系人表单的rails5网站。我使用action mailer和gmail通过我的gmail帐户向我发送了联系表。我有两个步骤验证我的谷歌帐户上的应用程序密码。问题是,大部分时间效果都很好,但有时我没有收到邮件。我认为这是来自谷歌,因为如果是来自我的代码,为什么我大部分时间都会收到它们。 我希望有人有主意。 我还有第二个问题,从我的action mailer配置调用凭据的语法是否正确 address: 'smtp.gmail.com',

我部署了一个带有联系人表单的rails5网站。我使用action mailer和gmail通过我的gmail帐户向我发送了联系表。我有两个步骤验证我的谷歌帐户上的应用程序密码。问题是,大部分时间效果都很好,但有时我没有收到邮件。我认为这是来自谷歌,因为如果是来自我的代码,为什么我大部分时间都会收到它们。 我希望有人有主意。 我还有第二个问题,从我的action mailer配置调用凭据的语法是否正确

    address:              'smtp.gmail.com',
    port:                 587,
    domain:               'domain.com',
    user_name:            ['Rails.application.credentials.dig(:production, :GMAIL_USER_NAME)'],
    password:             ['Rails.application.credentials.dig(:production, :GMAIL_PASSWORD)'],
    authentication:       'plain',
    enable_starttls_auto: true  } 
在my credentials.yml.enc中:

    GMAIL_USER_NAME: user@gmail.com
    GMAIL_PASWORD: applicationgmailpassword

因为你收到了一些电子邮件,我认为你是对的,问题是谷歌,而不是你的应用程序

它们是否出现在您的垃圾邮件文件夹中

你可以试着换成邮枪之类的东西。 尝试以下教程:

至于你的第二个问题,我认为你需要重新格式化

如何构造您的credentials.yml.enc文件:

无需在不同环境之间进行指定 不需要资本化 gmail\u用户名:someemail@gmail.com gmail_密码:这不是我的真实密码 然后调用这些变量:

Rails.application.credentials.gmail\u用户名 Rails.application.credentials.gmail\u密码 因此,在ActionMailer配置文件中,您应该执行以下操作:

... 用户名:Rails.application.credentials.gmail\u用户名, 密码:Rails.application.credentials.gmail\u密码, ...
谢谢@Chiperific凭据配置工作得非常好。 至于另一个问题,我可能会试试邮枪。经过大量的测试,我确信gmail会在url为mydomain.com时阻止我的应用程序连接,而不是在www.mydomain.com时! 如果有人能帮我的话。 多谢各位