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

class Net::SMTP

クラス・モジュールの継承リスト: Net::SMTP < Object < Kernel < BasicObject
aliases: Net::SMTPSession

要約

SMTP のセッションを表現したクラスです。

特異メソッド

定義 説明
default_port -> Integer

SMTPのデフォルトのポート番号(25)を返します。

default_ssl_context -> OpenSSL::SSL::SSLContext

SSL 通信に使われる SSL のコンテキストのデフォルト値を返します。

default_tls_port -> Integer
default_ssl_port -> Integer

デフォルトのSMTPSのポート番号(465)を返します。

default_submission_port -> Integer

デフォルトのサブミッションポート番号(587)を返します。

new(address, port = Net::SMTP.default_port) -> Net::SMTP

新しい SMTP オブジェクトを生成します。 address はSMTPサーバーのFQDNで、 port は接続するポート番号です。ただし、このメソッドではまだTCPの接続はしません。 Net::SMTP#start で接続します。

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
start(address, port = Net::SMTP.default_port, tls_verify: true, tls_hostname: nil, helo: 'localhost', user: nil, password: nil, authtype: DEFAULT_AUTH_TYPE) {|smtp| ... } -> object
start(address, port = Net::SMTP.default_port, helo = 'localhost', user = nil, password = nil, authtype = DEFAULT_AUTH_TYPE) -> Net::SMTP
start(address, port = Net::SMTP.default_port, helo = 'localhost', user = nil, password = nil, authtype = DEFAULT_AUTH_TYPE) {|smtp| .... } -> object

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

インスタンスメソッド

定義 説明
address -> String

接続先のアドレスを返します。

auth_cram_md5(user, secret) -> ()

CRAM-MD5 認証を行います。

auth_login(user, secret) -> ()

LOGIN 認証を行います。

auth_plain(user, secret) -> ()

PLAIN 認証を行います。

authenticate(user, secret, authtype) -> ()

認証を行います。

capable_auth_types -> [String]

接続したサーバで利用可能な認証を配列で返します。

capable_cram_md5_auth? -> bool

サーバが AUTH CRAM-MD5 を広告してきた場合に真を返します。

capable_login_auth? -> bool

サーバが AUTH LOGIN を広告してきた場合に真を返します。

capable_plain_auth? -> bool

サーバが AUTH PLAIN を広告してきた場合に真を返します。

capable_starttls? -> bool

サーバが STARTTLS を広告してきた場合に真を返します。

data(message) -> Net::SMTP::Response
data {|f| .... } -> Net::SMTP::Response

DATA コマンドを送ります。

set_debug_output(f) -> ()
debug_output=(f)

デバッグ出力の出力先を指定します。このメソッドは深刻なセキュリティホールの原因となりえます。デバッグ用にのみ利用してください。

disable_ssl -> ()
disable_tls -> ()

その Net::SMTP オブジェクトが SMTPS を利用しないよう設定します。

disable_starttls -> ()

その Net::SMTP オブジェクトがSTARTTLSを常に使わないよう設定します。

ehlo(domain) -> Net::SMTP::Response

EHLO コマンドを送ります(ESMTP を使います)。

enable_ssl(context = Net::SMTP.default_ssl_context) -> ()
enable_tls(context = Net::SMTP.default_ssl_context) -> ()

その Net::SMTP オブジェクトが SMTPS を利用するよう設定します。

enable_starttls(context = Net::SMTP.default_ssl_context) -> ()

その Net::SMTP オブジェクトが 常にSTARTTLSを利用する (利用できない場合には例外を発生する)ように設定します。

enable_starttls_auto(context = Net::SMTP.default_ssl_context) -> ()

その Net::SMTP オブジェクトがSTARTTLSが利用可能な場合 (つまりサーバがSTARTTLSを広告した場合)のみにSTARTTLSを利用するように設定します。

esmtp? -> bool
esmtp -> bool

その Net::SMTP オブジェクトが ESMTP を使う場合に真を返します。デフォルトは真です。

esmtp=(bool)

その Net::SMTP オブジェクトが ESMTP を使うかどうかを指定します。

finish -> ()

SMTP セッションを終了します。

helo(domain) -> Net::SMTP::Response

HELO コマンドを送ります(標準的な SMTP を使います)。

inspect -> String

@see Object#inspect

mailfrom(from_addr) -> Net::SMTP::Response

MAILFROM コマンドを送ります。

open_message_stream(from_addr, *to_addrs) {|f| .... } -> ()
ready(from_addr, *to_addrs) {|f| .... } -> ()

メール書き込みの準備をし、書き込み先のストリームオブジェクトをブロックに渡します。ブロック終了後、書きこんだ結果が送られます。

open_timeout -> Integer

接続時に待つ最大秒数を返します。

open_timeout=(n)

接続時に待つ最大秒数を設定します。

port -> Integer

接続先のポート番号を返します。

quit -> Net::SMTP::Response

QUIT コマンドを送ります。

rcptto(to_addr) -> Net::SMTP::Response

RCPTTO コマンドを送ります。

rcptto_list(to_addrs) { ... } -> object

RCPTTO コマンドを to_addrs のすべてのメールアドレスに対して送ります。

read_timeout -> Integer

読みこみ (read(2) 一回) でブロックしてよい最大秒数を返します。

read_timeout=(n)

読み込みでブロックしてよい最大秒数を設定します。

rset -> Net::SMTP::Response

RSET コマンドを送ります。

send_message(mailsrc, from_addr, *to_addrs) -> ()
send_mail(mailsrc, from_addr, *to_addrs) -> ()
sendmail(mailsrc, from_addr, *to_addrs) -> ()

メールを送信します。

tls? -> bool
ssl? -> bool

その Net::SMTP オブジェクトが SMTPS を利用するならば真を返します。

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
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 セッションを開始します。

started? -> bool

SMTP セッションが開始されていたら真を返します。

starttls -> Net::SMTP::Response

STARTTLS コマンドを送ります。

starttls? -> Symbol/nil

その Net::SMTP オブジェクトが STARTTLSを利用するかどうかを返します。

starttls_always? -> bool

その Net::SMTP オブジェクトが 常にSTARTTLSを利用する (利用できない場合には例外を発生する)ならば真を返します。

starttls_auto? -> bool

その Net::SMTP オブジェクトが利用可能な場合にのみにSTARTTLSを利用するならば真を返します。

定数

定義 説明
DEFAULT_AUTH_TYPE -> Symbol

デフォルトの認証スキーム(:plain)です。

Revision -> String

ファイルのリビジョンです。使わないでください。

継承したメソッド

! != __id__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined !~ <=> == === _dump class clone define_singleton_method display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method methods nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? send singleton_class singleton_method singleton_methods tap then to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_ENGINE_VERSION ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING