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

class Net::SMTP

クラスの継承リスト: Net::SMTP < Object < Kernel < BasicObject

Abstract

特異メソッド

default_port

The default SMTP port number, 25.

default_ssl_context
default_ssl_port

The default SMTP/SSL port number, 465.

default_tls_port

The default SMTP/TLS port number, 587.

disable_ssl
disable_tls
enable_ssl(context = SMTP.default_ssl_context)

Enable SMTP/SSL.

enable_tls
new(address, port = 25)

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

ssl_context
start(address, port = 25, helo_domain = 'localhost.localdomain', account = nil, password = nil, authtype = nil)
start(address, port = 25, helo_domain = 'localhost.localdomain', account = nil, password = nil, authtype = nil) {|smtp| .... }

以下と同じです。

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

Example:

require 'net/smtp'

Net::SMTP.start('your.smtp.server') {|smtp|
  smtp.send_message mail_string, 'from@mail.address', 'dest@mail.address'
}
use_ssl?
use_tls?

インスタンスメソッド

address

接続するアドレス

auth_cram_md5(user, secret)

Cram-MD5 authentication.

auth_login(user, secret)

Login authentication.

auth_plain(user, secret)

Plain authentication.

authenticate(user, secret, authtype)
data(message)
data {|f| .... }

Dispatch DATA command.

set_debug_output(f)
debug_output=(f)
disable_ssl
disable_tls
ehlo(domain)

Dispatch EHLO command (use ESMTP).

enable_ssl
enable_tls
esmtp
esmtp=(bool)
esmtp?
finish

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

セッション開始前にこのメソッドが呼ばれた場合は例外 IOError を発生します。

helo(domain)

Dispatch HELO command (use standard SMTP).

inspect
mailfrom(from_addr)

Dispatch MAILFROM command.

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

メール書きこみの準備をしたうえで、 write, print, printf, puts メソッドを持つオブジェクト f をブロックにあたえます。 from_addr は送信元メールアドレスで to_addrs は宛先のメールボックスです。

require 'net/smtp'

Net::SMTP.start('your.smtp.server', 25) {|smtp|
  smtp.open_message_stream('from@mail.addr', 'dest@mail.addr') {|f|
    f.puts 'From: aamine@loveruby.net'
    f.puts 'To: someone@somedomain.org'
    f.puts 'Subject: test mail'
    f.puts
    f.puts 'This is test mail.'
  }
}
open_timeout
open_timeout=(n)

接続時に待つ最大秒数。この秒数たってもコネクションが 開かなければ例外 TimeoutError を発生します。

port

接続するポート番号

quit

Dispatch QUIT command.

rcptto(to_addr)

Dispatch RCPTTO command.

rcptto_list(to_addrs)

Dispatch multiple RCPTTO commands.

read_timeout
read_timeout=(n)

読みこみ (read(2) 一回) でブロックしてよい最大秒数。 この秒数たっても読みこめなければ例外 TimeoutError を発生します。

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

mailsrc をメールとして送信します。 mailsrc は each イテレータを持つ オブジェクトならなんでも構いません (たとえば String や File)。

from_domain は送り主のメールアドレス ('...@...'のかたちのもの) で、 to_addrs には送信先メールアドレスを並べます。

require 'net/smtp'

Net::SMTP.start('your.smtp.server') {|smtp|
  smtp.send_message mail_string,
                    'from@mail.address',
                    'dest@mail.address', 'dest2@mail.address'
}
start(helo_domain = <local host name>, account = nil, password = nil, authtype = nil)
start(helo_domain = <local host name>, account = nil, password = nil, authtype = nil) {|smtp| .... }

TCP コネクションを張り、同時に SMTP セッションを開始します。 そのとき、こちらのホストの FQDN を helo_domain に指定します。 もしすでにセッションが開始していたら IOError を発生します。

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

started?

SMTP セッションが開始されていたら真。

starttls

Dispatch STARTTLS command (use SMTP/TLS).

use_ssl?
use_tls?

定数

Revision

File revision. You cannot assume any specific format.

Methods

Classes