класс 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.