отправка и получение писем об активации - учебник по ruby ​​on rails by Michael Hartl - PullRequest
0 голосов
/ 23 мая 2018

Я недавно начал читать учебник Hartl по Ruby on Rails .

Я скачал существующее приложение sample_app_reference из bitbucket .

Моя цель - не начинать и изучать все с нуля, а добавить новые функции к уже существующимприложение.

Проблема в том, что я не могу проверить добавляемые функции, поскольку не могу активировать свою учетную запись локально.Чтобы активировать мою учетную запись, мне нужно получить электронное письмо для активации (которым я не являюсь).Я искал в Интернете в течение нескольких часов, но не смог ничего найти по этой проблеме.Кто-нибудь пробовал этот урок раньше и сталкивался с той же проблемой?Любая помощь приветствуется.

1 Ответ

0 голосов
/ 23 мая 2018

Да ... отправка писем из среды разработки часто бывает непростой.Как прокомментировал Василиса выше, самое быстрое решение для вашей проблемы - это активировать пользователя из консоли rails ... возможно, вот так:

% bundle exec rails console
my-app(development)> User.last.activate

Однако в другое время вы действительно захотите увидетьэлектронная почта в контексте почтового клиента.Для этого https://mailcatcher.me/ делает это очень просто.Просто установите gem mailcatcher - не в Gemfile вашего приложения, а в установку ruby ​​на локальном компьютере.

Затем измените хост и порт в app/config/development.rb (НЕ в других средах, как prod!)

config.action_mailer.smtp_settings = {
  # For use with Mailcatcher: https://mailcatcher.me/
  address: '127.0.0.1',
  port: 1025
}

Запустите mailcatcher один раз из командной строки.

Затем сделайте свое дело в своем приложении, чтобы инициировать отправку электронной почты, и откройте http://127.0.0.1:1080/ в своем браузере.Вуаля, вы видите свое письмо, как будто оно действительно было отправлено.

Это очень простой, супер-полезный способ просмотра реальных писем без настройки вашего локального окружения для фактической отправки писем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...