Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > net/smtpライブラリ > Net::SMTPクラス > start

singleton method Net::SMTP.start

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

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

以下と同じです。

require 'net/smtp'
Net::SMTP.new(address, port).start(helo_domain, account, password, authtype)

このメソッドにブロックを与えた場合には、新しく作られた Net::SMTP オブジェクト を引数としてそのブロックを呼び、ブロック終了時に自動的に接続を閉じます。 ブロックを与えなかった場合には新しく作られた Net::SMTP オブジェクトが 返されます。この場合終了時に 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 のいずれか)
[EXCEPTION] TimeoutError:
接続時にタイムアウトした場合に発生します
[EXCEPTION] Net::SMTPUnsupportedCommand:
TLSをサポートしていないサーバでTLSを使おうとした場合に発生します
[EXCEPTION] Net::SMTPServerBusy:
SMTPエラーコード420,450の場合に発生します
[EXCEPTION] Net::SMTPSyntaxError:
SMTPエラーコード500の場合に発生します
[EXCEPTION] Net::SMTPFatalError:
SMTPエラーコード5xxの場合に発生します

[SEE_ALSO] Net::SMTP#start, Net::SMTP.new