class Ronin::Support::Network::EmailAddress

Represents an email address.

## Features

## Examples

Builds a new email address:

email = EmailAddress.new(mailbox: 'john.smith', domain: 'example.com')

Parses an email address:

email = EmailAddress.parse("John Smith <john.smith@example.com>")
# => #<Ronin::Support::Network::EmailAddress:0x00007f49586d6a20
      @address=nil,
      @domain="example.com",
      @mailbox="john.smith",
      @name="John Smith",
      @routing=nil,
      @tag=nil>

Deobfuscate an obfuscated email address:

EmailAddress.deobfuscate("john[dot]smith [at] example[dot]com")
# => "john.smith@example.com"

Obfuscate an email address:

email = EmailAddress.parse("john.smith@example.com")
email.obfuscate
# => "john <dot> smith <at> example <dot> com"

Get every obfuscation of an email address:

email.obfuscations
# => ["john.smith AT example.com",
#     "john.smith at example.com",
#     "john.smith[AT]example.com",
#     "john.smith[at]example.com",
#     "john.smith [AT] example.com",
#     "john.smith [at] example.com",
#     "john.smith<AT>example.com",
#     "john.smith<at>example.com",
#     "john.smith <AT> example.com",
#     "john.smith <at> example.com",
#     "john.smith{AT}example.com",
#     "john.smith{at}example.com",
#     "john.smith {AT} example.com",
#     "john.smith {at} example.com",
#     "john.smith(AT)example.com",
#     "john.smith(at)example.com",
#     "john.smith (AT) example.com",
#     "john.smith (at) example.com",
#     "john DOT smith AT example DOT com",
#     "john dot smith at example dot com",
#     "john[DOT]smith[AT]example[DOT]com",
#     "john[dot]smith[at]example[dot]com",
#     "john [DOT] smith [AT] example [DOT] com",
#     "john [dot] smith [at] example [dot] com",
#     "john<DOT>smith<AT>example<DOT>com",
#     "john<dot>smith<at>example<dot>com",
#     "john <DOT> smith <AT> example <DOT> com",
#     "john <dot> smith <at> example <dot> com",
#     "john{DOT}smith{AT}example{DOT}com",
#     "john{dot}smith{at}example{dot}com",
#     "john {DOT} smith {AT} example {DOT} com",
#     "john {dot} smith {at} example {dot} com",
#     "john(DOT)smith(AT)example(DOT)com",
#     "john(dot)smith(at)example(dot)com",
#     "john (DOT) smith (AT) example (DOT) com",
#     "john (dot) smith (at) example (dot) com"]

@see datatracker.ietf.org/doc/html/rfc2822#section-3.4

@api public

@since 1.0.0