class Net::POP3

def start(account, password) # :yield: pop

:yield: pop
This method raises a POPAuthenticationError if authentication fails.

closes the session after block call finishes.
When called with block, gives a POP3 object to the block and

Starts a POP3 session.
def start(account, password) # :yield: pop
  raise IOError, 'POP session already started' if @started
  if block_given?
    begin
      do_start account, password
      return yield(self)
    ensure
      do_finish
    end
  else
    do_start account, password
    return self
  end
end