class Net::POPMail
Этот класс представляет сообщение, которое существует на сервере POP. Экземпляры этого класса создаются классом POP3; их не следует создавать напрямую.
Атрибуты
Длина сообщения в октетах.
Последовательный номер сообщения на сервере.
Длина сообщения в октетах.
Публичные методы экземпляров
# File lib/net/pop.rb, line 857 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 865 def deleted? @deleted end
Истина, если почта была удалена.
# File lib/net/pop.rb, line 833 def header(dest = '') top(0, dest) end
Извлекает заголовок сообщения.
Необязательный dest аргумент устарел.
Этот метод вызывает исключение POPError, если произошла ошибка.
# File lib/net/pop.rb, line 759
def inspect
"#<#{self.class} #{@number}#{@deleted ? ' deleted' : ''}>"
end Предоставляет удобочитаемую строковую строку состояния класса.
# File lib/net/pop.rb, line 801
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 821
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.