我正在运行一个 Rails 应用程序,除其他外,它需要扮演它自己的 SMTP 服务器的角色。Mini-SMTP-Server看起来很不错,但我不知道如何让它作为守护进程运行。我希望能够对传入的消息采取行动,并且我需要将完整的 Rails 堆栈用于其他任务。
我查看了守护进程gem,它看起来很合适,但不知道如何连接它以开始以合理的方式侦听 SMTP 消息。
我正在运行一个 Rails 应用程序,除其他外,它需要扮演它自己的 SMTP 服务器的角色。Mini-SMTP-Server看起来很不错,但我不知道如何让它作为守护进程运行。我希望能够对传入的消息采取行动,并且我需要将完整的 Rails 堆栈用于其他任务。
我查看了守护进程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