W3cubDocs

/Ruby 3

class Net::POPMail

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.

Attributes

length[R]

The length of the message in octets.

number[R]

The sequence number of the message on the server.

size[R]

The length of the message in octets.

Public Instance Methods

all( dest = +'' )
Alias for: pop
delete() Show source
# File lib/net/pop.rb, line 858
def delete
  @command.dele @number
  @deleted = true
end

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
Also aliased as: delete!
delete!()
Alias for: delete
deleted?() Show source
# File lib/net/pop.rb, line 866
def deleted?
  @deleted
end

True if the mail has been deleted.

header(dest = +'') Show source
# File lib/net/pop.rb, line 834
def header(dest = +'')
  top(0, dest)
end

Fetches the message header.

The optional dest argument is obsolete.

This method raises a POPError if an error occurs.

inspect() Show source
# File lib/net/pop.rb, line 760
def inspect
  +"#<#{self.class} #{@number}#{@deleted ? ' deleted' : ''}>"
end

Provide human-readable stringification of class state.

mail( dest = +'' )
Alias for: pop
pop( dest = +'' ) { |message_chunk| ... } Show source
# File lib/net/pop.rb, line 802
def pop( dest = +'', &block ) # :yield: message_chunk
  if block_given?
    @command.retr(@number, &block)
    nil
  else
    @command.retr(@number) do |chunk|
      dest << chunk
    end
    dest
  end
end

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.

Also aliased as: all, mail
top(lines, dest = +'') Show source
# File lib/net/pop.rb, line 822
def top(lines, dest = +'')
  @command.top(@number, lines) do |chunk|
    dest << chunk
  end
  dest
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.

uidl()
Alias for: unique_id
unique_id() Show source
# File lib/net/pop.rb, line 874
def unique_id
  return @uid if @uid
  @pop.set_all_uids
  @uid
end

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.

Also aliased as: uidl

Ruby Core © 1993–2020 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.