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 836
836:     def delete
837:       @command.dele @number
838:       @deleted = true
839:     end
delete!()

Alias for delete

True if the mail has been deleted.

[Source]

     # File lib/net/pop.rb, line 844
844:     def deleted?
845:       @deleted
846:     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 812
812:     def header(dest = '')
813:       top(0, dest)
814:     end

Provide human-readable stringification of class state.

[Source]

     # File lib/net/pop.rb, line 738
738:     def inspect
739:       "#<#{self.class} #{@number}#{@deleted ? ' deleted' : ''}>"
740:     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 780
780:     def pop( dest = '', &block ) # :yield: message_chunk
781:       if block_given?
782:         @command.retr(@number, &block)
783:         nil
784:       else
785:         @command.retr(@number) do |chunk|
786:           dest << chunk
787:         end
788:         dest
789:       end
790:     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 800
800:     def top(lines, dest = '')
801:       @command.top(@number, lines) do |chunk|
802:         dest << chunk
803:       end
804:       dest
805:     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 852
852:     def unique_id
853:       return @uid if @uid
854:       @pop.set_all_uids
855:       @uid
856:     end

[Validate]