class Net::POPMail
此类表示存在于 POP 服务器上的消息。此类的实例由 POP3
类创建;它们不应由用户直接创建。
属性
length[R]
消息的长度,以字节为单位。
number[R]
消息在服务器上的序列号。
size[R]
消息的长度,以字节为单位。
公共实例方法
delete() 点击以切换源代码
标记消息以便在服务器上删除。删除操作直到会话结束时才会实际发生;可以通过调用 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 net-pop-0.1.2/lib/net/pop.rb, line 861 def delete @command.dele @number @deleted = true end
也别名为:delete!
deleted?() 点击以切换源代码
如果邮件已被删除,则为 True。
# File net-pop-0.1.2/lib/net/pop.rb, line 869 def deleted? @deleted end
header(dest = +'') 点击以切换源代码
获取消息头。
可选的 dest
参数已过时。
如果发生错误,此方法会引发 POPError
。
# File net-pop-0.1.2/lib/net/pop.rb, line 837 def header(dest = +'') top(0, dest) end
inspect() 点击以切换源代码
提供类状态的人类可读的字符串表示形式。
# File net-pop-0.1.2/lib/net/pop.rb, line 763 def inspect +"#<#{self.class} #{@number}#{@deleted ? ' deleted' : ''}>" end
pop( dest = +'' ) { |message_chunk| ... } 点击以切换源代码
此方法获取消息。如果使用块调用,则消息会一次一块地传递给该块。如果未用块调用,则消息将作为字符串返回。可选的 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 net-pop-0.1.2/lib/net/pop.rb, line 805 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
top(lines, dest = +'') 点击以切换源代码
获取消息头和 lines
行正文。
可选的 dest
参数已过时。
如果发生错误,此方法会引发 POPError
。
# File net-pop-0.1.2/lib/net/pop.rb, line 825 def top(lines, dest = +'') @command.top(@number, lines) do |chunk| dest << chunk end dest end