names=start
visibility=public
kind=defined

--- start(address, port = Net::SMTP.default_port, helo_domain = 'localhost', account = nil, password = nil, authtype = DEFAULT_AUTH_TYPE) -> Net::SMTP
--- start(address, port = Net::SMTP.default_port, helo_domain = 'localhost', account = nil, password = nil, authtype = DEFAULT_AUTH_TYPE) {|smtp| .... } -> object

新しい SMTP オブジェクトを生成し、サーバに接続し、セッションを開始します。


以下と同じです。

  Net::SMTP.new(address, port).start(helo_domain, account, password, authtype)

このメソッドにブロックを与えた場合には、新しく作られた [[c:Net::SMTP]] オブジェクト
を引数としてそのブロックを呼び、ブロック終了時に自動的に接続を閉じます。
ブロックを与えなかった場合には新しく作られた [[c:Net::SMTP]] オブジェクトが
返されます。この場合終了時に [[m:Net::SMTP#finish]] を呼ぶのは利用者の責任と
なります。

account と password の両方が与えられた場合、
SMTP AUTH コマンドによって認証を行います。
authtype は使用する認証のタイプで、
シンボルで :plain, :login, :cram_md5 を指定します。

Example:

  require 'net/smtp'

  Net::SMTP.start('smtp.example.com') {|smtp|
    smtp.send_message mail_string, 'from@example.jp', 'to@example.jp'
  }

@param address 接続するサーバをホスト名もしくはIPアドレスで指定します
@param port ポート番号、デフォルトは 25 です
@param helo_domain HELO で名乗るドメイン名です
@param account 認証で使うアカウント名
@param password 認証で使うパスワード
@param authtype 認証の種類(:plain, :login, :cram_md5 のいずれか)

@raise TimeoutError 接続時にタイムアウトした場合に発生します
@raise Net::SMTPUnsupportedCommand TLSをサポートしていないサーバでTLSを使おうとした場合に発生します
@raise Net::SMTPServerBusy SMTPエラーコード420,450の場合に発生します
@raise Net::SMTPSyntaxError SMTPエラーコード500の場合に発生します
@raise Net::SMTPFatalError SMTPエラーコード5xxの場合に発生します

@see [[m:Net::SMTP#start]], [[m:Net::SMTP.new]]
