Rails Action Mailer не отправляет письма

Я пытаюсь отправить почту через рельсы, используя Action Mailer и SMTP-сервер Googlemail, но это не работает. Что я делаю неправильно?

Вот конфигурация, которую я использую (я также пробовал локальный Relay-Server без аутентификации, который также не работал):

# Action Mailer config
config.action_mailer.smtp_settings = {
# Gmail Account
:tls => true,
:address => "smtp.googlemail.com",
:port => "587",
:domain => "localhost",
:authentication => :plain,
:user_name => "[email protected]",
:password => "dsgdes" 

config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = false
config.action_mailer.default_url_options = { :host => "localhost:80" }
config.action_mailer.default_charset = "utf-8"

person Hedge    schedule 25.11.2010    source источник


Ответы (4)


Я предполагаю, что ваш параметр домена неверен. Я написал инициализатор в своем каталоге config/initializers, он выглядит так:

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.perform_deliveries = true

ActionMailer::Base.smtp_settings = {
  :address              => "smtp.gmail.com",
  :port                 => "587",
  :domain               => 'gmail.com',
  :user_name            => '[email protected]',
  :password             => 'dsgdes',
  :authentication       => 'plain',
  :enable_starttls_auto => true  }
person apneadiving    schedule 25.11.2010

:домен => 'ваш_домен'

пример http://asciicasts.com/episodes/206-action-mailer-in-rails-3

person Fusco    schedule 26.11.2010

Это то, что я успешно использую

config.action_mailer.smtp_settings = {
  :tls => true ,
  :enable_starttls_auto => true ,
  :authentication => :login ,
  :address => "smtp.gmail.com" ,
  :port => 587 ,
  :domain => "smtp.gmail.com" ,
  :user_name => "[email protected]" ,
  :password => "yourpassword"
person d sharpe    schedule 27.12.2011

В моем проекте я использую эти строки и успешно запускаю mycode:

config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = smtp
config.action_mailer.smtp_settings = {
address: 'smtp.sendgrid.net',
port: 587, domain: '3SClub.com',
user_name: ENV['SENDGRID_USERNAME'],
password: ENV['SENDGRID_PASSWORD'],
authentication: :plain,
enable_starttls_auto: true
}
config.action_mailer.default_url_options = {:host =>    "localhost:3000"}

ПРИМЕЧАНИЕ:

  1. проверьте свое доменное имя.

  2. измените свою аутентификацию на :login

person Krishna Singh Shahi    schedule 23.07.2019