Opens a TCP connection and starts the SMTP
session.
helo
is the HELO domain that you’ll dispatch mails from; see the discussion in the overview notes.
If both of user
and secret
are given, SMTP
authentication will be attempted using the AUTH command. authtype
specifies the type of authentication to attempt; it must be one of :login, :plain, and :cram_md5. See the notes on SMTP
Authentication in the overview.
When this methods is called with a block, the newly-started SMTP
object is yielded to the block, and automatically closed after the block call finishes. Otherwise, it is the caller’s responsibility to close the session when finished.
This is very similar to the class method SMTP.start
.
require 'net/smtp' smtp = Net::SMTP.new('smtp.mail.server', 25) smtp.start(helo_domain, account, password, authtype) do |smtp| smtp.send_message msgstr, 'from@example.com', ['dest@example.com'] end
The primary use of this method (as opposed to SMTP.start
) is probably to set debugging (set_debug_output
) or ESMTP (esmtp=
), which must be done before the session is started.
If session has already been started, an IOError
will be raised.
This method may raise:
Produces the summary text. Each line of the summary is yielded to the block (without newline).
sdone
Already summarized short style options keyed hash.
ldone
Already summarized long style options keyed hash.
width
Width of left side (option part). In other words, the right side (description part) starts after width
columns.
max
Maximum width of left side -> the options are filled within max
columns.
indent
Prefix string indents all summarized lines.
Searches key
in id
list. The result is returned or yielded if a block is given. If it isn’t found, nil is returned.
Creates the summary table, passing each line to the block
(without newline). The arguments args
are passed along to the summarize method which is called on every option.
Sets the parent of this child to the supplied argument.
Must be a Parent
object. If this object is the same object as the existing parent of this child, no action is taken. Otherwise, this child is removed from the current parent (if one exists), and is added to the new parent.
The parent added
Evaluates to true
if raw mode is set for this element. This is the case if the context has :raw
set to :all
or an array containing the name of this element.
The evaluation is tested against expanded_name
, and so is namespace sensitive.
Private helper class. Removes quotes from quoted strings