почему я не получил все письма из моего приложения rails5? - PullRequest
0 голосов
/ 21 января 2020

Я развернул сайт rails5 с контактной формой. Я использовал action-mailer и gmail, чтобы отправить мне контактную форму (через мою учетную запись gmail). У меня есть двухэтапное подтверждение с паролем приложения в моей учетной записи Google. Проблема в том, что большую часть времени это работает хорошо, но иногда я не получал почту. Я думаю, что это исходит от Google, потому что, если это было из моего кода, почему я получал их большую часть времени. Я надеюсь, что у кого-то есть идея. У меня есть второй вопрос: этот синтаксис для вызова учетных данных из моей конфигурации 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  } 

в моем credentials.yml.en c:

    GMAIL_USER_NAME: user@gmail.com
    GMAIL_PASWORD: applicationgmailpassword

Ответы [ 2 ]

1 голос
/ 21 января 2020

Поскольку вы получаете некоторые электронные письма, я думаю, что вы правы в том, что проблема связана с Google, а не с вашим приложением.

Они появляются в вашей папке со спамом?

Вы можете попробовать переключиться на что-то вроде Mailgun. Попробуйте этот урок: https://www.leemunroe.com/send-automated-email-ruby-rails-mailgun/

Что касается вашего второго вопроса, я думаю, вам нужно переформатировать.

Как структурировать ваши credentials.yml.en c file:

# 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,
  ...
0 голосов
/ 23 января 2020

Спасибо @ Chiperifi c Конфигурация учетных данных работает отлично. Для другой проблемы я, вероятно, попробую Mailgun. После многих тестов я почти уверен, что gmail блокирует соединение моего приложения, когда URL-адрес mydomain.com, а не когда www.mydomain.com! Если у кого-то есть идея, которая может мне помочь. Спасибо.

...