#ruby-on-rails #ruby #clearance
#ruby-on-rails #ruby #Полная распродажа
Вопрос:
Я пытаюсь создать электронное письмо для сброса пароля для отправки из созданной мной учетной записи gmail. Что мне нужно сделать, чтобы выполнить это и отправить электронное письмо с сообщением о сбросе пароля, когда кто-то нажимает «сбросить пароль»? Я уже установил
config.mailer_sender = 'newemail@email.com'
Извините, если это глупый вопрос, я все еще новичок в рельсах и оформлении.
Ответ №1:
Так вы настраиваете конкретный адрес электронной почты для отправки с разрешения. Поместите это в: config/initializers/clearance.rb
Clearance.configure do |config|
config.mailer_sender = "reply@example.com"
end
Но в Rails вам также необходимо настроить сервер для отправки вашей электронной почты. /config/environments/development.rb
# Gmail configuration
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'example.com',
user_name: ENV['EMAIL_USER'],
password: ENV['EMAIL_PASS'],
authentication: 'plain',
enable_starttls_auto: true
}
Однако обратите внимание на две вещи:
- В этом примере используются переменные ENV
EMAIL_USER
,EMAIL_PASS
которые являются настраиваемыми переменными среды, которые должны существовать в вашем сеансе bash (например.$ export EMAIL_USER=my_email@gmail.com
) - В этом примере предполагается, что вы делаете это только в процессе разработки (что должно быть верно для отправки из личной учетной записи Gmail). Если вы хотите, чтобы это было в рабочей среде, вам следует добавить конфигурацию в
/config/environments/production.rb
Комментарии:
1. Является ли reply@example.com в конфигурации оформления должен быть мой gmail?
2. Да, точно. Пожалуйста, протестируйте это, а затем вернитесь и дайте мне знать, как все прошло. Электронная почта забавная. На самом деле вам разрешено «лгать» о том, кто его отправляет. Итак, технически вы могли бы выбрать заголовок «from» как «anyone@email.com «, но в Клиренсе неясно, позволяют ли они им быть разными. Итак, сначала протестируйте свою учетную запись Gmail. Затем протестируйте другое электронное письмо. В конце дня ваша личная электронная почта все равно будет видна в заголовках писем. Итак, используйте только поддельный адрес при тестировании.