Rails не отправляет письма в разработке через Mandrillapp (имя узла или имя сервера указаны) - PullRequest
0 голосов
/ 23 мая 2018

Я сталкиваюсь с этой проблемой:

SocketError in Front::RequestsController#create

getaddrinfo: nodename nor servname provided, or not known
Extracted source (around line #539):

#537 
#538     def tcp_socket(address, port)
*539       TCPSocket.open address, port
#540     end
#541 
#542     def do_start(helo_domain, user, secret, authtype)

При попытке отправить почту через Mandrillapp локально.Это мой development.rb файл:

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.perform_deliveries = true 

  config.action_mailer.delivery_method = :smtp

  # Specify what domain to use for mailer URLs 

  config.action_mailer.smtp_settings = {
    user_name: 'my_user_name',
    password: 'my_password',
    domain: 'localhost:3000',
    address: 'smtp.mandrillapp.com"',
    port: 587,
    authentication: :plain,
    enable_starttls_auto: true
  }

На производстве все работает отлично, даже при загрузке этих переменных через Figaro (application.yml).Однако в режиме разработки я сталкиваюсь с проблемой, описанной выше.

Я пробовал разные порты, разные настройки ... Ничто не работает при разработке.Может ли кто-нибудь указать мне, по крайней мере, правильное направление отладки?Большинство SO-ответов, например , это совсем не помогает.

1 Ответ

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

В соответствии с общими данными, кажется, вы добавили дополнительную кавычку в адресный ключ при указании настроек SMTP и при попытке подключения к адресу, он показывает эту ошибку:

Текущая настройка

config.action_mailer.smtp_settings = {
 user_name: 'my_user_name',
 password: 'my_password',
 domain: 'localhost:3000',
 address: 'smtp.mandrillapp.com"',
 port: 587,
 authentication: :plain,
 enable_starttls_auto: true
}

Обновление настроек:

config.action_mailer.smtp_settings = {
 user_name: 'my_user_name',
 password: 'my_password',
 domain: 'localhost:3000',
 address: 'smtp.mandrillapp.com',
 port: 587,
 authentication: :plain,
 enable_starttls_auto: true
}
...