Class: Inventory::Server::SMTPServer

Inherits:
MidiSmtpServer
  • Object
show all
Defined in:
lib/inventory/server/smtp_server.rb

Overview

Create an SMTP Server

Instance Method Summary collapse

Constructor Details

#initialize(config, middlewares) ⇒ SMTPServer

Returns a new instance of SMTPServer.



13
14
15
16
17
18
# File 'lib/inventory/server/smtp_server.rb', line 13

def initialize(config, middlewares)
  @config = config
  @middlewares = middlewares
  @audit = @config[:debug]
  super(config[:smtp_port], config[:host], config[:max_connections])
end

Instance Method Details

#log(msg) ⇒ Object



31
32
33
# File 'lib/inventory/server/smtp_server.rb', line 31

def log(msg)
  InventoryLogger.logger.debug msg
end

#on_message_data_event(ctx) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/inventory/server/smtp_server.rb', line 20

def on_message_data_event(ctx)
  begin 
    # execute middlewares
    id, body = EmailParser.parse(ctx[:message])
    InventoryLogger.logger.context_id = id
    @middlewares.call(:id => id, :body => body)
  rescue => e
    # dot not raise the error to avoid the SMTP server relay to defer malformed emails
  end
end