Class Net::POPMail
In: lib/net/pop.rb
Parent: Object

This class represents a message which exists on the POP server. Instances of this class are created by the POP3 class; they should not be directly created by the user.

Methods

all   delete   delete!   deleted?   header   inspect   mail   pop   top   uidl   unique_id  

External Aliases

length -> size

Attributes

length  [R]  The length of the message in octets.
number  [R]  The sequence number of the message on the server.

Public Instance methods

all( dest = '' )

Alias for pop

Marks a message for deletion on the server. Deletion does not actually occur until the end of the session; deletion may be cancelled for all marked messages by calling POP3#reset().

This method raises a POPError if an error occurs.

Example

    POP3.start('pop.example.com', 110,
               'YourAccount, 'YourPassword') do |pop|
      n = 1
      pop.mails.each do |popmail|
        File.open("inbox/#{n}", 'w') do |f|
          f.write popmail.pop
        end
        popmail.delete         ####
        n += 1
      end
    end

[Source]

     # File lib/net/pop.rb, line 716
716:     def delete
717:       @command.dele @number
718:       @deleted = true
719:     end
delete!()

Alias for delete

True if the mail has been deleted.

[Source]

     # File lib/net/pop.rb, line 724
724:     def deleted?
725:       @deleted
726:     end

Fetches the message header.

The optional dest argument is obsolete.

This method raises a POPError if an error occurs.

[Source]

     # File lib/net/pop.rb, line 692
692:     def header( dest = '' )
693:       top(0, dest)
694:     end

Provide human-readable stringification of class state.

[Source]

     # File lib/net/pop.rb, line 618
618:     def inspect
619:       "#<#{self.class} #{@number}#{@deleted ? ' deleted' : ''}>"
620:     end
mail( dest = '' )

Alias for pop

This method fetches the message. If called with a block, the message is yielded to the block one chunk at a time. If called without a block, the message is returned as a String. The optional dest argument will be prepended to the returned String; this argument is essentially obsolete.

Example without block

    POP3.start('pop.example.com', 110,
               'YourAccount, 'YourPassword') do |pop|
      n = 1
      pop.mails.each do |popmail|
        File.open("inbox/#{n}", 'w') do |f|
          f.write popmail.pop
        end
        popmail.delete
        n += 1
      end
    end

Example with block

    POP3.start('pop.example.com', 110,
               'YourAccount, 'YourPassword') do |pop|
      n = 1
      pop.mails.each do |popmail|
        File.open("inbox/#{n}", 'w') do |f|
          popmail.pop do |chunk|            ####
            f.write chunk
          end
        end
        n += 1
      end
    end

This method raises a POPError if an error occurs.

[Source]

     # File lib/net/pop.rb, line 660
660:     def pop( dest = '', &block ) # :yield: message_chunk
661:       if block_given?
662:         @command.retr(@number, &block)
663:         nil
664:       else
665:         @command.retr(@number) do |chunk|
666:           dest << chunk
667:         end
668:         dest
669:       end
670:     end

Fetches the message header and lines lines of body.

The optional dest argument is obsolete.

This method raises a POPError if an error occurs.

[Source]

     # File lib/net/pop.rb, line 680
680:     def top( lines, dest = '' )
681:       @command.top(@number, lines) do |chunk|
682:         dest << chunk
683:       end
684:       dest
685:     end
uidl()

Alias for unique_id

Returns the unique-id of the message. Normally the unique-id is a hash string of the message.

This method raises a POPError if an error occurs.

[Source]

     # File lib/net/pop.rb, line 732
732:     def unique_id
733:       return @uid if @uid
734:       @pop.set_all_uids
735:       @uid
736:     end

[Validate]