maillib reference


Mail::SMTPSession

スーパークラス

Mail::Session

クラスメソッド

new( address = 'localhost', port = 25 )

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

メソッド

start( helo_domain = ENV['HOSTNAME'] )

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

もしすでにセッションが開始していたら何もせずにfalseを返します。

sendmail( mailsrc, from_domain, to_addrs )
mailsrcをメールとして送信します。mailsrcはeachイテレータを持つものオブジェクトなら なんでも構いません。from_domainは送り主のメールアドレス('...@...'のかたちのもの)で、 to_addrsは送信先メールアドレスの配列です。

また、送信する文字列についての制約、たとえば、改行コードを"\r\n"にそろえると いったことは、Sessionで正しくハンドリングされるので、アプリケーション側で 注意する必要はありません。

また、セッション中にに(SMTPレベルの)エラーがおこった場合、以下のような例外が発生します。

finish

SMTPセッションを終了します。 もしログインしていない時にこのメソッドが呼ばれた場合は、なにもせずにfalseを返します。


Mail::SMTP

スーパークラス

Mail::ProtocolSocket

クラスメソッド

new( socket )

新しいSMTPオブジェクトを生成し、同時にsocketの通信先ホストとSMTPセッションを張ります。 socketはProtocolSocketでなければいけません。

メソッド

helo( helo_domain )

HELOコマンドを送信して、SMTPセッションを開始します。 helo_domainにはメールの送信元のホストのFQDNを指定します。

mailfrom( from_addr )

MAIL FROMコマンドを送信します。from_addrは送り主のメールアドレスです。

rcpt( to_addrs )

RCPT TOコマンドを送信して宛先を指定します。 to_addrsは送り先のメールアドレスの配列です。

data( mailsrc )

mailsrcをメールの本文として送信します。mailsrcからはeachで文字列を読みこんで 順次送ります。行頭にピリオドがあってはいけないといった「SMTP的な正しさ」は 常に保証されます。

quit

QUITコマンドを送って、SMTPセッションを終了します。


Author: Minero Aoki (aamine@dp.u-netsurf.ne.jp)