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_contextdefault_ssl_port-
The default SMTP/SSL port number, 465.
default_tls_port-
The default SMTP/TLS port number, 587.
disable_ssldisable_tlsenable_ssl(context = SMTP.default_ssl_context)-
Enable SMTP/SSL.
enable_tlsnew(address, port = 25)-
新しい SMTP オブジェクトを生成します。 address はSMTPサーバーのFQDNで、 port は接続するポート番号です。 ただし、このメソッドではまだ接続はしません。
ssl_contextstart(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_ssldisable_tlsehlo(domain)-
Dispatch EHLO command (use ESMTP).
enable_sslenable_tlsesmtpesmtp=(bool)esmtp?finish-
SMTP セッションを終了します。
セッション開始前にこのメソッドが呼ばれた場合は例外 IOError を発生します。
helo(domain)-
Dispatch HELO command (use standard SMTP).
inspectmailfrom(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_timeoutopen_timeout=(n)-
接続時に待つ最大秒数。この秒数たってもコネクションが 開かなければ例外 TimeoutError を発生します。
port-
接続するポート番号
quit-
Dispatch QUIT command.
rcptto(to_addr)-
Dispatch RCPTTO command.
rcptto_list(to_addrs)-
Dispatch multiple RCPTTO commands.
read_timeoutread_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.