首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Net::POPMail

Parent:Object

该类表示 POP 服务器上存在的消息。这个类的实例是由 POP3 类创建的;他们不应该由用户直接创建。

属性

lengthR

消息的长度以八比特组为单位。

numberR

服务器上消息的序列号。

sizeR

消息的长度以八比特组为单位。

公共实例方法

all( dest = '' )

别名为:pop

delete() 显示源文件

在服务器上标记要删除的消息。直到会话结束,删除才会真正发生; 通过调用 Net :: POP3#reset 可以取消所有标记消息的删除。

如果发生错误,此方法会引发 POPError。

示例

代码语言:javascript
复制
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
代码语言:javascript
复制
# File lib/net/pop.rb, line 857
def delete
  @command.dele @number
  @deleted = true
end

另外别名为:删除! (delete! )

delete!()

别名为:删除 (delete)

deleted?()显示源文件

如果邮件已被删除,则为真。

代码语言:javascript
复制
# File lib/net/pop.rb, line 865
def deleted?
  @deleted
end

header(dest = '') 显示源文件

获取消息标题。

可选dest参数已过时。

如果发生错误,此方法会引发 POPError。

代码语言:javascript
复制
# File lib/net/pop.rb, line 833
def header(dest = '')
  top(0, dest)
end

inspect() 显示源文件

提供人类可读的类状态的字符串化。

代码语言:javascript
复制
# File lib/net/pop.rb, line 759
def inspect
  "#<#{self.class} #{@number}#{@deleted ? ' deleted' : ''}>"
end

mail( dest = '' )

别名为:pop

pop(dest =''){| message_chunk | ...}显示源文件

此方法提取消息。如果用块调用,则一次将消息放到块中。如果在没有块的情况下调用,则消息以字符串形式返回。可选dest参数将被预置为返回的字符串; 这个说法实质上已经过时了。

无块的示例

代码语言:javascript
复制
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

有块的示例

代码语言:javascript
复制
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。

代码语言:javascript
复制
# 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

还有别名:all, mail

top(lines, dest = '')显示源代码

获取消息标题和正文的lines行。

可选dest参数已过时。

如果发生错误,此方法会引发 POPError。

代码语言:javascript
复制
# File lib/net/pop.rb, line 821
def top(lines, dest = '')
  @command.top(@number, lines) do |chunk|
    dest << chunk
  end
  dest
end

uidl()

别名为:unique_id

unique_id()显示源文件

返回消息的唯一标识。通常,unique-id 是消息的哈希字符串。

如果发生错误,此方法会引发 POPError。

代码语言:javascript
复制
# File lib/net/pop.rb, line 873
def unique_id
  return @uid if @uid
  @pop.set_all_uids
  @uid
end

另外别名为:uidl

扫码关注腾讯云开发者

领取腾讯云代金券