Opens a TCP connection and starts the SMTP session.
Parameters
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.
Block Usage
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.
Example
This is very similar to the class method ::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 ::start) is probably to set debugging (#set_debug_output) or ESMTP (#esmtp=), which must be done before the session is started.
Errors
If session has already been started, an IOError will be raised.
This method may raise:
Please login to continue.