open_message_stream(from_addr, *to_addrs) {|f| .... } -> ()[permalink][rdoc][edit]ready(from_addr, *to_addrs) {|f| .... } -> ()-
メール書き込みの準備をし、書き込み先のストリームオブジェクトをブロックに渡します。ブロック終了後、書きこんだ結果が送られます。
渡されるストリームオブジェクトは以下のメソッドを持っています。
- puts(str = '') strを出力して CR LFを出力
- print(str) strを出力
- printf(fmt, *args) sprintf(fmt,*args) を出力
- write(str):: str を出力して書き込んだバイト数を返す
- <<(str):: str を出力してストリームオブジェクト自身を返す
from_domain は送り主のメールアドレス ('...@...'のかたち) 、 to_addrs には送信先メールアドレスを文字列で渡します。
require 'net/smtp' Net::SMTP.start('smtp.example.com', 25) {|smtp| smtp.open_message_stream('from@example.com', 'to@example.net') {|f| f.puts 'From: from@example.com' f.puts 'To: to@example.net' f.puts 'Subject: test mail' f.puts f.puts 'This is test mail.' } }ready は obsolete です。
- [PARAM]
from_addr: - 送信元のメールアドレス
- [PARAM]
to_addrs: - 送信先のメールアドレス(複数可、少なくとも1個)
- [EXCEPTION]
IOError: - すでにセッションが終了している場合に発生します
- [EXCEPTION]
TimeoutError: - 接続がタイムアウトした場合に発生します
- [EXCEPTION]
Net::SMTPServerBusy: - SMTPエラーコード420,450の場合に発生します
- [EXCEPTION]
Net::SMTPSyntaxError: - SMTPエラーコード500の場合に発生します
- [EXCEPTION]
Net::SMTPFatalError: - SMTPエラーコード5xxの場合に発生します
- [EXCEPTION]
Net::SMTPAuthenticationError: - 送信に必要な認証を行っていなかった場合に発生します
- [EXCEPTION]
Net::SMTPUnknownError: - SMTPエラーコードがプロトコル上不正な場合に発生します
[SEE_ALSO] Net::SMTP#send_message