Этот код не отправляет электронную почту (ничего не происходит вообще - без ошибок). Что я делаю не так?Отправка электронной почты с Ruby через Gmail
/app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
default from: "[email protected]"
def email_test()
@user = '[email protected]'
mail(to: @user, subject: 'Welcome to My Awesome Site')
end
end
/config/development.rb:
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_options = {from: '[email protected]'}
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:enable_starttls_auto => true,
:address => "smtp.gmail.com",
:port => 587,
:domain => "gmail.com",
:authentication => :login,
:user_name => "[email protected]",
:password => "password123",
}
Я призываю код в папке/приложения/ПОЧТООТПРАВИТЕЛЯХ /. Здесь я бег:
rails runner UserMailer.email_test
Это потому, что я ставлю настройку Gmail SMTP в development.rb, но я бег этого кода в командной строке?
Я уже включил «доступ к менее защищенным приложениям» в своей учетной записи gmail. Так смущенный, пожалуйста, посоветуйте спасибо!
Является ли отправитель того же приемника? –
Не могли бы вы попытаться настроить аутентификацию на ': plain'? Кроме того, среда не должна быть проблемой, введите 'Rails.env' на консоли, если вы хотите быть уверенным. – Roma149
Может быть, ваш сервер не работает с почтой отправки, попробуйте сначала это 'echo 'Тестирование тела" | mail -s "Тема теста" your @ email.com' – shilovk