连接被拒绝 - connect(2) 用于“localhost”端口 25 Rails

2023-12-26

在培训期间,我正在开发一个网站,我们使用 Ruby on Rails。我们需要向用户发送邮件,所以我创建了一个邮件程序。

我尝试过将 smtp 放在两者中development.rb and environment.rb

config.action_mailer.default_url_options = {host: '0.0.0.0:3000'}
config.action_mailer.default charset: 'utf-8'
config.action_mailer.delivery_method = 'smtp'
config.action_mailer.perform_deliveries = true
config.action_mailer.smtp_settings = {
  adress: $SMTP_SERVER,
  port: $PORT,
  from: $MAIL,

  enable_starttls_auto: true
  #authentication: 'login'
}

它告诉我错误来自该方法第 6 行

def create
  @user = User.new(user_params)

  respond_to do |format|
    if @user.save
      # Tell the UserMailer to send a welcome Email after save
      UserMailer.welcome_email(@user).deliver_now

      format.html { redirect_to(@user, :notice => 'User was successfully created.') }
      format.json { render :json => @user, :status => :created, :location => @user }
    else
      format.html { render :action => "new" }
      format.json { render :json => @user.errors, :status => :unprocessable_entity }
    end
  end
end

我已将端口设置为587但我不断收到错误:

Errno::ECONNREFUSED:连接被拒绝 - “localhost”的 connect(2) 端口25

看起来好像另一个文件正在覆盖我的设置。我还发现这可能与我的 ssh 密钥未经服务器授权有关。

知道出了什么问题吗?

提前致谢


首先,在本地主机上开发时,很常见not实际上发送邮件,而不是将其视为部署细节并坚持 Rails 默认行为,即将邮件标头和内容吐出到控制台 STDOUT(您可以在其中验证文本看起来是否正确)。您需要在开发环境中测试发送消息是否有特定原因?

其次,您提到您在development.rb 和environment.rb 中设置了SMTP 设置。您不需要两次设置这些设置;一般来说我会用development.rb对于特定于开发环境的设置,以及environment.rb仅适用于始终适用于所有环境(开发、测试和实时部署的服务器)的设置。因此,如果您在development.rb和environment.rb中设置相同的设置,我会首先删除其中一个;裁员只会让你以后的工作变得更加困难。

最后,为了解决这个问题,我首先询问 Rails 的设置是什么,而不是等待邮件传递失败。请尝试以下操作:

  • 启动rails console
  • Enter Rails.configuration.action_mailer.smtp_settings并将生成的哈希值与您的期望进行比较。这个哈希应该包含发送所有邮件时使用的端口和域设置(在当前环境中),因此如果 ActionMailer 尝试错误的端口,那么我预计这里的端口也是错误的。

你在哪里设置$SMTP_SERVER, $PORT and $MAIL?你有什么理由不使用 Rails 的环境变量约定吗?ENV['SMTP_SERVER'] etc.?

希望其中一些有所帮助。祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

连接被拒绝 - connect(2) 用于“localhost”端口 25 Rails 的相关文章

  • proc函数相对于方法有什么优点

    我正在解决一些问题欧拉计划 http projecteuler net 我提到我总是将短方法包装在 proc 函数中 我问自己 Why 答案是 我不知道 也许是因为它短 那么proc函数相对于普通方法除了短之外还有什么优点呢 Proc is
  • 使用 Outlook 2016 通过 Python 发送电子邮件而无需打开它

    import win32com client as win32 outlook win32 Dispatch outlook application mail outlook CreateItem 0 mail To To address
  • 将 R 与 Rsruby 集成

    我想知道是否有人有将 R 集成到 Rails 中的经验 特别是在 heroku 上 我熟悉 rsruby gem 它是 ruby 与 R 事实上的 也许是唯一的 绑定 但是有关将 R 与 Rails 集成的文档即使不是不存在 也是很少的 比
  • postgres 数组字段上的 ActiveAdmin 过滤器

    我在 ActiveAdmin 中添加了以下过滤器 filter roles as select collection Model ROLES multiple true 但是当我选择过滤器值来搜索角色时 它给了我以下错误 PG Invali
  • PostgreSQL安装错误——无法分配内存

    我正在尝试从 sqlite3 切换到 PostgreSQL 以在 Rails 中进行开发 这样我就不会遇到任何 heroku 问题 我遵循了heroku和链接到的Railscast上给出的建议 但是在brew安装postgresql后遇到了
  • Ruby 中的 Splat 运算符(快速排序示例)

    你好 我正在研究一些 Ruby 代码 在 Ruby 中实现快速排序 1 def qsort lst 2 return if lst empty 3 x xs lst 4 less more xs partition y y lt x 5 q
  • Cucumber 是否不需要编写单元测试?

    我对 Ruby ROR 可用的测试框架数量之多感到有点困惑 我最近看了黄瓜轨道广播 http railscasts com episodes search cucumber并发现它们非常有趣 所以我开始玩游戏 然后努力从概念上考虑在哪里进行
  • Rails 中的会话、子域和 authlogic 问题

    我有一个带有 authlogic 身份验证的 Rails 应用程序和一个使用 subdomain fu 构建的 username domain com 结构 但是当从domain com转到username domain com时 我的会话
  • 应用程序可能在其主线程上做了太多工作 - Android

    您好 我正在开发一个 Android 应用程序 当我尝试从我的应用程序发送电子邮件时遇到此错误 我在后台发送邮件而不使用基于意图这个链接 http www oodlestechnologies com blogs Send Mail in
  • 从 Python 中的 message_from_string() 获取发件人地址

    有人可以告诉我如何在Python中从email message from string 获取发件人地址吗 谢谢 我试过 message email message from string email text from message Fr
  • 如何为 MySQL 和 Postgres 编写不区分大小写的查询?

    我在本地运行 MySQL 数据库进行开发 但部署到使用 Postgres 的 Heroku Heroku 处理几乎所有事情 但我不区分大小写的 Like 语句变得区分大小写 我可以使用 iLike 语句 但我的本地 MySQL 数据库无法处
  • Laravel - 动态更改电子邮件设置不起作用

    我的应用程序的所有电子邮件设置都存储在数据库中 用户可以选择更改这些设置 而且一切都很好 但我正在尝试设置 发送测试电子邮件 功能 以允许用户在保存设置之前测试其设置 当他们提交发送测试电子邮件的表单时 电子邮件将通过原始设置而不是新设置发
  • 多步ActiveRecord的模型验证

    考虑具有以下字段的用户模型 名字 必填 姓氏 必填 电子邮件 必填 要求输入密码 电话 必填 大小 10 位数字 地址 必填 以及包含以下步骤的多步骤注册表单 第一步 包含 名字 姓氏 和 电子邮件 字段 第二步输入密码 电话和地址 您将如
  • 什么时候需要将参数传递给“Thread.new”?

    在线程外部定义的局部变量似乎从内部可见 因此以下两种用法Thread new似乎是一样的 a foo Thread new puts a gt foo Thread new a a puts a gt foo The document ht
  • Rails ActiveRecord:是否可以组合 :include 和 :conditions 查询?

    想象一下我有 wiki 文章 有很多修订 我想通过数据库使用 ActiveRecord 进行查询 该查询仅返回那些在过去 24 小时内更新过修订的文章 这样的事可能吗 我想它会是这样的 Articles find all include g
  • 下载前获取文件大小并计算已下载的文件大小 (http+ruby)

    谁能帮我 get the 之前的文件大小我开始下载 显示多少 已下载 require net http require uri url http www onalllevels com 2009 12 02TheYangShow Squid
  • 有没有一种好方法来计算 ruby​​ 中范围元素的总和

    计算范围总和的好方法是什么 Input 4 10 Output 4 5 6 7 8 9 10 49 您可以使用EnumerableRange 对象上的方法 在本例中使用Enumerable inject 4 10 inject gt 49
  • Ruby 中的关键字在哪里定义?

    我正在查看 Ruby 文档 想知道是否一切都是对象 那么 关键字 也是对象 对吗 如果是这样 它们在 ruby 中是在哪里定义的 下面的页面完全让我困惑 因为它显示了包含所有关键字的对象 但这不是所有类使用的官方对象 这是否以某种方式来自不
  • 将 Twitter 引导样式添加到 Rails 表单助手

    在阅读建议我使用带有引导程序集成的 Simple form gem 的答案后 我安装了它并根据 simple form 说明创建了我的表单 但输入框向右浮动 这是布局 正在使用部分 shared reg 调用该表单 div class co
  • simple_fields_for 没有出现 [rails 4]

    我正在尝试创建两个隐藏字段 其中一个显示没有问题 但来自嵌套表单的另一个则没有 产品 rb class Product lt ActiveRecord Base has many product options dependent dest

随机推荐

  • 枚举 Delphi 中已发布的属性和子属性

    如果之前问过这个问题 我们深表歉意 我对一些组件的定义如下 如果错误请指导我 因为我是初学者 我正在尝试的是枚举派生组件的所有已发布属性 特别是子属性 我能够枚举属性的名称 但是 是否可以枚举在程序执行期间可以访问其元素 如子属性 的已发布
  • 如何验证字符串是否是js中的有效日期[重复]

    这个问题在这里已经有答案了 我有用于获取不同值的字符串字段 收到的一些值是日期 现在我需要检查收到的值是否是日期 收到的日期可以再次采用不同的格式 I tried Date parse 如果格式为dd mm yyyy hh mm 但我收到了
  • Android Studio中Toolbar必须用AppBarLayout包裹吗?

    代码A来自项目建筑样本 https github com android architecture samples 工具栏被 AppBarLayout 包裹 我删除 AppBarLayout 并获得代码 B 代码 B 与代码 A 一样运行良
  • Flutter:一页上有两 (2) 个抽屉?

    我有一个顶部栏 左侧 设置 和右侧 配置文件 都有图标 我需要一个抽屉 根据单击的图标从左侧或右侧滑出 我的左侧 设置 工作正常 但我不明白如何在一页上有两个抽屉 我相信拥有两个抽屉比根据所选链接以编程方式编辑抽屉更有意义 但我以前也经常犯
  • GestureDetector.onTouchEvent(MotionEvent e) 在所有手势上调用 onLongPress

    我有一个自定义视图 我想在其上设置长按监听器 我正在使用以下代码来设置相同的内容 final GestureDetector gestureDetector new GestureDetector new GestureDetector S
  • Html.HiddenFor 在 ASP.NET 中错误地格式化 DateTime

    我正在用 C 编写 ASP NET MVC3 应用程序 并发现调用Html HiddenFor在我看来会呈现DateTime与我打电话时不同 且错误 Html DisplayFor 它从中获取值的模型确实有一个 DisplayFormat
  • Linq to SQL 的未来是什么

    我一直在网上搜索 Linq 教程 发现一些文章说 linq 可能会消失 你对此有什么看法 微软真的会废除linq吗 Linq to SQL 并没有像实体框架那样受到足够多的关注来发展其功能 MS 已决定追求丰富 发展 EF 对于 L2S 这
  • 为什么在 UI 中使用 DataTable 是错误的?

    我是初学者 我发现很难理解这里的一个概念 有人告诉我不应该在 UI 级别使用 DataTable 请帮助我理解这个概念 解决方案 MyApp Data MyApp Logic MyApp Web MyApp Web 引用 MyApp Log
  • Observer.onError 触发不一致

    我正在使用 Retrofit 访问我的 API 如下所示 public interface UserService POST user login public Observable
  • Libgdx 和 Box2DLights - 太亮 + 颜色变灰

    我正在使用 LibGDX 和 Box2DLights 编写一个游戏来进行照明 第一个问题是当我的灯光相互重叠时 我在太阳上有定向光 在角色上有点光 当它们重叠时 输出颜色太亮 我尝试改变灯光的颜色 但是当只有一盏灯 太暗 时 降低这些颜色会
  • 一个很好的参考卡/备忘单,其中包含 C 语言的基本排序算法? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我一直在寻找 没有太大运气 带有 C 语言 或者可能是伪代码 中的所有基本排序算法的完美参考卡 维基百科是一个很棒的信息来源 但这次我
  • getString() 和 getResources.getString() 之间的区别

    我注意到Activity类有两种不同的方法来获取 String 资源 这可以通过使用 getString int resId 从应用程序包的默认字符串表中返回本地化字符串 getResources getString int id 返回与特
  • .NET Framework可以在Win98上使用吗?

    我需要为客户编写一个在 Windows 98 上运行的小工具 由于这是一个非常小的项目 我希望我可以避免使用本机 C 并使用 C The net框架2 0下载 http www microsoft com downloads details
  • 在哪里可以找到 ReportEvent 函数使用的好示例?

    与大多数 传统 MSDN 页面一样 该页面报告事件 http msdn microsoft com en us library aa363679 VS 85 aspx信息太少 我无法理解它的意义 我尝试过搜索 但找不到一个好的 干净的 简单
  • 如何在经典 ASP 中设置断点? (IIS7/VS2010)

    我有一个混合 ASP NET 经典 ASP 应用程序 我希望能够在 ASP 代码中设置断点 这可能吗 在Win7上使用VS2010 Ultimate运行IIS7 在 VBScript 中 Stop http msdn microsoft c
  • 使用 MPI 分散不同大小的矩阵块

    假设所有矩阵都按行优先顺序存储 说明该问题的一个示例是将 10x10 矩阵分布在 3x3 网格上 以便每个节点中的子矩阵的大小如下所示 3x3 3x3 3x4 3x3 3x3 3x4 4x3 4x3 4x4 我在 Stackoverflow
  • 改进单选按钮的使用以启用/禁用表单字段

    我有两个单选按钮和两个相应的表单字段 根据选择的单选按钮 一个表单字段将被禁用 而另一个表单字段将被启用 我的代码可以工作 但我认为它可以改进 现在我有两个独立的进程 检查页面加载时选择了哪个单选按钮并禁用相应的字段 另一个在页面加载后响应
  • 将下拉菜单与年份绑定

    我必须在 C 中绑定一个下拉框 其中包含从 2008 年到当前年份的年份 我怎样才能实现它 您可以使用以下命令构建整数序列System Linq Enumerable Range var startYear 2008 myDropDownL
  • Swift 3 - 如何提取正则表达式中捕获的组?

    我正在使用 Swift 3 并尝试访问捕获的组 let regexp ALREADY PAID NOT ALR PROVIDER MAY READY MAY BILL BILL YOU PAID n d d d check if some
  • 连接被拒绝 - connect(2) 用于“localhost”端口 25 Rails

    在培训期间 我正在开发一个网站 我们使用 Ruby on Rails 我们需要向用户发送邮件 所以我创建了一个邮件程序 我尝试过将 smtp 放在两者中development rb and environment rb config act