class Net::POPMail
Этот класс представляет сообщение, которое существует на сервере POP. Экземпляры этого класса создаются классом POP3; их не следует создавать напрямую.
Атрибуты
Длина сообщения в октетах.
Последовательный номер сообщения на сервере.
Длина сообщения в октетах.
Общедоступные методы экземпляров
# File lib/net/pop.rb, line 858 def delete @command.dele @number @deleted = true end
Помечает сообщение для удаления на сервере. Удаление фактически не происходит до конца сеанса; удаление может быть отменено для всех помеченных сообщений вызовом Net::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 Этот метод извлекает сообщение. Если вызван с блоком, сообщение передается в блок по частям. Если вызван без блока, сообщение возвращается в виде строки. Необязательный dest аргумент будет добавлен в начало возвращаемой строки; этот аргумент по существу устарел.
Пример без блока
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.