start(address, port = Net::SMTP.default_port, tls_verify: true, tls_hostname: nil, helo: 'localhost', user: nil, password: nil, authtype: DEFAULT_AUTH_TYPE) -> Net::SMTP[permalink][rdoc][edit]start(address, port = Net::SMTP.default_port, tls_verify: true, tls_hostname: nil, helo: 'localhost', user: nil, password: nil, authtype: DEFAULT_AUTH_TYPE) {|smtp| ... } -> objectstart(address, port = Net::SMTP.default_port, helo = 'localhost', user = nil, password = nil, authtype = DEFAULT_AUTH_TYPE) -> Net::SMTPstart(address, port = Net::SMTP.default_port, helo = 'localhost', user = nil, password = nil, authtype = DEFAULT_AUTH_TYPE) {|smtp| .... } -> object-
新しい SMTP オブジェクトを生成し、サーバに接続し、セッションを開始します。
以下と同じです。
require 'net/smtp' Net::SMTP.new(address, port).start(helo: helo, user: user, password: password, authtype: authtype)このメソッドにブロックを与えた場合には、新しく作られた Net::SMTP オブジェクトを引数としてそのブロックを呼び、ブロック終了時に自動的に接続を閉じます。ブロックを与えなかった場合には新しく作られた Net::SMTP オブジェクトが返されます。この場合終了時に Net::SMTP#finish を呼ぶのは利用者の責任となります。
user と password の両方が与えられた場合、 SMTP AUTH コマンドによって認証を行います。 authtype は使用する認証のタイプで、シンボルで :plain, :login, :cram_md5 を指定します。
Examplerequire '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]
tls_verify: - サーバー証明書を検証するか否か
- [PARAM]
tls_hostname: - サーバー証明書のホスト名
- [PARAM]
helo: - HELO で名乗るドメイン名です
- [PARAM]
user: - 認証で使うアカウント名
- [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
- [PARAM]