instance method Net::SMTP#start

start(helo: 'localhost', user: nil, password: nil, authtype: DEFAULT_AUTH_TYPE) -> Net::SMTP[permalink][rdoc][edit]
start(helo: 'localhost', user: nil, password: nil, authtype: DEFAULT_AUTH_TYPE) {|smtp| ... } -> object
start(helo = 'localhost', user = nil, password = nil, authtype = DEFAULT_AUTH_TYPE) -> Net::SMTP
start(helo = 'localhost', user = nil, password = nil, authtype = DEFAULT_AUTH_TYPE) {|smtp| .... } -> object

サーバにコネクションを張り、同時に SMTP セッションを開始します。

もしすでにセッションが開始していたら IOError が発生します。

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

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

[PARAM] helo:
HELO で名乗るドメイン名です
[PARAM] user:
認証で使うアカウント名
[PARAM] password:
認証で使うパスワード
[PARAM] authtype:
認証の種類(:plain, :login, :cram_md5 のいずれか)
[EXCEPTION] IOError:
すでにセッションを開始している場合に発生します
[EXCEPTION] TimeoutError:
接続がタイムアウトした場合に発生します
[EXCEPTION] Net::SMTPUnsupportedCommand:
STARTTLSをサポートしていないサーバでSTARTTLSを利用しようとした場合に発生します
[EXCEPTION] Net::SMTPServerBusy:
SMTPエラーコード420,450の場合に発生します
[EXCEPTION] Net::SMTPSyntaxError:
SMTPエラーコード500の場合に発生します
[EXCEPTION] Net::SMTPFatalError:
SMTPエラーコード5xxの場合に発生します