класс Net::POPMail
Этот класс представляет сообщение, которое существует на сервере POP. Экземпляры этого класса создаются классом POP3; они не должны создаваться пользователем напрямую.
Атрибуты
Длина сообщения в октетах.
Последовательный номер сообщения на сервере.
Длина сообщения в октетах.
Публичные методы экземпляров
# File lib/net/pop.rb, line 859 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 867 def deleted? @deleted end
Истина, если почта была удалена.
# File lib/net/pop.rb, line 835 def header(dest = +'') top(0, dest) end
Извлекает заголовок сообщения.
Необязательный аргумент dest устарел.
Этот метод вызывает исключение POPError, если произошла ошибка.
# File lib/net/pop.rb, line 761
def inspect
+"#<#{self.class} #{@number}#{@deleted ? ' deleted' : ''}>"
end Обеспечивает удобочитаемую строковую строку состояния класса.
# File lib/net/pop.rb, line 803
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 823
def top(lines, dest = +'')
@command.top(@number, lines) do |chunk|
dest << chunk
end
dest
end Извлекает заголовок сообщения и lines строк тела.
Необязательный аргумент dest устарел.
Этот метод вызывает исключение POPError, если произошла ошибка.
# File lib/net/pop.rb, line 875 def unique_id return @uid if @uid @pop.set_all_uids @uid end
Возвращает уникальный идентификатор сообщения. Обычно уникальный идентификатор — это строка хэша сообщения.
Этот метод вызывает исключение POPError, если произошла ошибка.
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.