класс Net::POPMail
Этот класс представляет собой сообщение, которое существует на сервере POP. Экземпляры этого класса создаются классом POP3; их не следует создавать напрямую пользователю.
Атрибуты
Длина сообщения в октетах.
Последовательный номер сообщения на сервере.
Длина сообщения в октетах.
Публичные методы экземпляров
# File lib/net/pop.rb, line 858 def delete @command.dele @number @deleted = true end
Помечает сообщение для удаления на сервере. Удаление фактически не происходит до конца сессии; удаление может быть отменено для всех помеченных сообщений, вызвав POP3#reset().
Этот метод вызывает POPError, если произошла ошибка.
Пример
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
# File lib/net/pop.rb, line 866 def deleted? @deleted end
Истина, если почта была удалена.
# File lib/net/pop.rb, line 834 def header(dest = +'') top(0, dest) end
Извлекает заголовок сообщения.
Необязательный аргумент dest устарел.
Этот метод вызывает POPError, если произошла ошибка.
# File lib/net/pop.rb, line 760
def inspect
+"#<#{self.class} #{@number}#{@deleted ? ' deleted' : ''}>"
end Предоставляет строковое представление состояния класса для человека.
# 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 Этот метод извлекает сообщение. Если вызывается с блоком, сообщение передается в блок по частям. Если вызывается без блока, сообщение возвращается как String. Необязательный аргумент dest будет добавлен к возвращаемой строке String; этот аргумент фактически устарел.
Пример без блока
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
Пример с блоком
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
Этот метод вызывает POPError, если произошла ошибка.
# File lib/net/pop.rb, line 822
def top(lines, dest = +'')
@command.top(@number, lines) do |chunk|
dest << chunk
end
dest
end Извлекает заголовок сообщения и lines строк тела.
Необязательный аргумент dest устарел.
Этот метод вызывает POPError, если произошла ошибка.
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.