class MailAutoconfig::Server

Superclass for {IncomingServer} and {OutgoingServer}. Never used directly.

Attributes

client_config[R]
config[R]

Public Class Methods

new(config, client_config) click to toggle source

@param config [Nokogiri::XML::Node] an XML representation of this server

# File lib/mail_autoconfig/server.rb, line 10
def initialize(config, client_config)
  @config = config
  @client_config = client_config
end

Public Instance Methods

authentication() click to toggle source

The authentication type for this server. Valid responses: `password-cleartext`, `NTLM`, `GSSAPI`, `client-IP-address`, `TLS-client-cert`, `none` @return [String] the authentication method for this server

# File lib/mail_autoconfig/server.rb, line 63
def authentication
  @authentication ||= config.xpath('authentication').first.content
end
hostname() click to toggle source

@return [String] The hostname for this server

# File lib/mail_autoconfig/server.rb, line 22
def hostname
  @hostname ||= config.xpath('hostname').first.content
end
port() click to toggle source

@return [Integer] The port to connect ot this server on

# File lib/mail_autoconfig/server.rb, line 27
def port
  @port ||= config.xpath('port').first.content.to_i
end
protocol() click to toggle source

Returns the protocol of the mail server e.g. `smtp`, `pop3`, `imap` @return [String] The protocol for the server

# File lib/mail_autoconfig/server.rb, line 17
def protocol
  @protocol ||= config.attr('type')
end
socket_type() click to toggle source

The connection type for this server. `plain`, `STARTTLS`, `SSL` are acceptable @return [String] The connection type

# File lib/mail_autoconfig/server.rb, line 33
def socket_type
  @socket_type ||= config.xpath('socketType').first.content
end
username() click to toggle source

The username for this mailbox, combines {username_format} and [EmailAddress] details @return [String] The username

# File lib/mail_autoconfig/server.rb, line 39
def username
  @username ||= begin
    name = username_format
    name.gsub! '%EMAILADDRESS%', client_config.email_address.address
    name.gsub! '%EMAILLOCALPART%', client_config.email_address.local_part
    name.gsub! '%EMAILDOMAIN%', client_config.email_address.domain
    name
  end
end
username_format() click to toggle source

Return the username format for this server. There are substitutions that can be made.

  • `%EMAILADDRESS%` - full email address of the user, usually entered by the user

  • `%EMAILLOCALPART%` - email address, part before @

  • `%EMAILDOMAIN%` - email address, part after @

@return [String] the username format

# File lib/mail_autoconfig/server.rb, line 56
def username_format
  @username_format ||= config.xpath('username').first.content
end