为什么我没有收到来自我的 Rails 5 应用程序的所有邮件?
why i did'nt received all the mails from my rails5 application?
我部署了一个带有联系表的 rails5 网站。我使用 action-mailer 和 gmail 向我发送联系表(通过我的 gmail 帐户)。我的 google 帐户使用应用程序密码进行了两步验证。问题是大部分时间都很好,但有时我没有收到邮件。我认为这是来自 Google,因为如果它来自我的代码,为什么我大部分时间都会收到它们。
我希望有人有想法。
我有第二个问题,这种从我的操作邮件配置中调用凭据的语法是否合适?
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 }
在我的 credentials.yml.enc 中:
GMAIL_USER_NAME: user@gmail.com
GMAIL_PASWORD: applicationgmailpassword
因为您收到了一些电子邮件,我认为您是对的,问题出在 Google,而不是您的应用程序。
它们是否出现在您的垃圾邮件文件夹中?
您可以尝试切换到 Mailgun 之类的软件。
试试这个教程:https://www.leemunroe.com/send-automated-email-ruby-rails-mailgun/
关于你的第二个问题,我认为你需要重新格式化。
如何构建您的 credentials.yml.enc 文件:
# no need to specify between environments
# no need to capitalize
gmail_user_name: someemail@gmail.com
gmail_password: thisIsNotMyRealPassword
然后调用这些变量:
Rails.application.credentials.gmail_user_name
Rails.application.credentials.gmail_password
因此,在您的 ActionMailer 配置文件中,您应该这样做:
...
user_name: Rails.application.credentials.gmail_user_name,
password: Rails.application.credentials.gmail_password,
...
谢谢@Chiperific,凭据配置运行良好。
对于另一个问题,我可能会尝试使用 Mailgun。经过大量测试后,我很确定当 url 为 mydomain.com 而不是 www.mydomain.com 时,gmail 会阻止我的应用程序连接!
如果有人有想法可以帮助我。
谢谢。
我部署了一个带有联系表的 rails5 网站。我使用 action-mailer 和 gmail 向我发送联系表(通过我的 gmail 帐户)。我的 google 帐户使用应用程序密码进行了两步验证。问题是大部分时间都很好,但有时我没有收到邮件。我认为这是来自 Google,因为如果它来自我的代码,为什么我大部分时间都会收到它们。 我希望有人有想法。 我有第二个问题,这种从我的操作邮件配置中调用凭据的语法是否合适?
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 }
在我的 credentials.yml.enc 中:
GMAIL_USER_NAME: user@gmail.com
GMAIL_PASWORD: applicationgmailpassword
因为您收到了一些电子邮件,我认为您是对的,问题出在 Google,而不是您的应用程序。
它们是否出现在您的垃圾邮件文件夹中?
您可以尝试切换到 Mailgun 之类的软件。 试试这个教程:https://www.leemunroe.com/send-automated-email-ruby-rails-mailgun/
关于你的第二个问题,我认为你需要重新格式化。
如何构建您的 credentials.yml.enc 文件:
# no need to specify between environments
# no need to capitalize
gmail_user_name: someemail@gmail.com
gmail_password: thisIsNotMyRealPassword
然后调用这些变量:
Rails.application.credentials.gmail_user_name
Rails.application.credentials.gmail_password
因此,在您的 ActionMailer 配置文件中,您应该这样做:
...
user_name: Rails.application.credentials.gmail_user_name,
password: Rails.application.credentials.gmail_password,
...
谢谢@Chiperific,凭据配置运行良好。 对于另一个问题,我可能会尝试使用 Mailgun。经过大量测试后,我很确定当 url 为 mydomain.com 而不是 www.mydomain.com 时,gmail 会阻止我的应用程序连接! 如果有人有想法可以帮助我。 谢谢。