Rails 开发中不通过 Mandrillapp 发送邮件(提供节点名或服务名)
Rails not sending mails in development via Mandrillapp (nodename nor servname provided)
我 运行 关注这个问题:
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 答案,例如 this 根本没有帮助。
根据共享的详细信息,您似乎在指定 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
}
我 运行 关注这个问题:
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 答案,例如 this 根本没有帮助。
根据共享的详细信息,您似乎在指定 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
}