ruby-on-rails - 如何创建守护进程来在 Rails 堆栈中运行 SMTP 服务器?

标签 ruby-on-rails ruby smtp ruby-daemons

我正在运行一个 Rails 应用程序,除其他外,它还需要扮演它自己的 SMTP 服务器的角色。 Mini-SMTP-Server看起来非常好,但我不知道如何让它作为守护进程运行。我希望能够对传入的消息进行操作,并且需要完整的 Rails 堆栈可用于其他任务。

我查看了 daemons gem,它看起来很合适,但不知道如何连接它以开始以合理的方式监听 SMTP 消息。

最佳答案

创建一个 Rake smtp_server rake 任务,确保它依赖于环境,然后在该任务中编写 smtp 服务器的代码。查看此线程以将 rake 任务设置为守护进程:Daemoninsing a rake task

desc 'smtp_server'
task :smtp_server => :environment do
  # Create a new server instance listening at 127.0.0.1:2525
  # and accepting a maximum of 4 simultaneous connections
  server = MiniSmtpServer.new(2525, "127.0.0.1", 4)

  # Start the server
  server.start
  # Join the thread to main pool
  server.join
end

关于ruby-on-rails - 如何创建守护进程来在 Rails 堆栈中运行 SMTP 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14526229/

相关文章:

ruby-on-rails - Rails 4.2 Action Controller :BadRequest custom error message

ruby-on-rails - 为什么我的 Rails 应用程序在控制台启动时忽略环境变量 DATABASE_URL?

ruby-on-rails - Rails3 事件记录池和 Sidekiq 多线程

ruby - 测试 Ruby 字符串或符号的字符串相等性(不是对象相等性)的最简洁方法?

ruby - Array#-(减法运算符)如何比较元素是否相等?

java - SMTPTransport 作为实现 MessageDrivenBean 和 MessageListener 的类的私有(private)静态

smtp - 需要帮助设置 Windows Server 2008 SMTP 服务器

ruby-on-rails - rails + compass : advantages vs using haml + blueprint directly

ruby - 警告 : previous definition of Variable was here - Ruby

php - 通过自动 PHP 脚本通过电子邮件发送存储的用户名和密码