Module: MidiSmtpServer

Defined in:
lib/midi-smtp-server.rb,
lib/midi-smtp-server/logger.rb,
lib/midi-smtp-server/version.rb,
lib/midi-smtp-server/exceptions.rb,
lib/midi-smtp-server/tls-transport.rb

Overview

A small and highly customizable ruby SMTP-Server.

Defined Under Namespace

Modules: VERSION Classes: ForwardingLogger, Smtpd, Smtpd421Exception, Smtpd432Exception, Smtpd450Exception, Smtpd451Exception, Smtpd452Exception, Smtpd454Exception, Smtpd500CrLfSequenceException, Smtpd500Exception, Smtpd500PipeliningException, Smtpd501Exception, Smtpd502Exception, Smtpd503Exception, Smtpd504Exception, Smtpd521Exception, Smtpd530Exception, Smtpd534Exception, Smtpd535Exception, Smtpd538Exception, Smtpd550Exception, Smtpd552Exception, Smtpd553Exception, Smtpd554Exception, SmtpdException, SmtpdIOBufferOverrunException, SmtpdIOTimeoutException, SmtpdStopConnectionException, SmtpdStopServiceException, Tls454Exception, Tls530Exception, TlsTransport

Constant Summary collapse

DEFAULT_SMTPD_HOST =

default values

'127.0.0.1'
DEFAULT_SMTPD_PORT =
2525
DEFAULT_SMTPD_MAX_PROCESSINGS =
4
CRLF_MODES =

default values for conformity to RFC(2)822 and addtionals if interested in details, checkout discussion on issue queue at: github.com/4commerce-technologies-AG/midi-smtp-server/issues/16

[:CRLF_ENSURE, :CRLF_LEAVE, :CRLF_STRICT].freeze
DEFAULT_CRLF_MODE =
:CRLF_ENSURE
DEFAULT_IO_CMD_TIMEOUT =

default values for IO operations

30
DEFAULT_IO_BUFFER_CHUNK_SIZE =
4 * 1024
DEFAULT_IO_BUFFER_MAX_SIZE =
1 * 1024 * 1024
DEFAULT_PIPELINING_EXTENSION_ENABLED =

default value for SMTPD extensions support

false
DEFAULT_INTERNATIONALIZATION_EXTENSIONS_ENABLED =
false
AUTH_MODES =

Authentification modes

[:AUTH_FORBIDDEN, :AUTH_OPTIONAL, :AUTH_REQUIRED].freeze
DEFAULT_AUTH_MODE =
:AUTH_FORBIDDEN
ENCRYPT_MODES =

Encryption modes

[:TLS_FORBIDDEN, :TLS_OPTIONAL, :TLS_REQUIRED].freeze
DEFAULT_ENCRYPT_MODE =
:TLS_FORBIDDEN
TLS_CIPHERS_ADVANCED_PLUS =

Encryption ciphers and methods check www.owasp.org/index.php/TLS_Cipher_String_Cheat_Sheet

'DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256'
TLS_CIPHERS_ADVANCED =
"#{TLS_CIPHERS_ADVANCED_PLUS}:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256"
TLS_CIPHERS_BROAD_COMP =
"#{TLS_CIPHERS_ADVANCED}:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA"
TLS_CIPHERS_WIDEST_COMP =
"#{TLS_CIPHERS_ADVANCED}:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA"
TLS_CIPHERS_LEGACY =
"#{TLS_CIPHERS_ADVANCED}:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA"
TLS_METHODS_ADVANCED =
'TLSv1_2'
TLS_METHODS_LEGACY =
'TLSv1_1'