Ruby网络与工具库实用指南
1. Net::IMAP:访问IMAP邮件服务器
Internet Mail Access Protocol(IMAP)允许邮件客户端访问邮件服务器。它支持纯文本登录、IMAP登录和CRAM - MD5认证机制。连接后,该库支持线程,可同时与服务器进行多次交互。TMail gem可用于创建和解析电子邮件消息。
1.1 列出收件箱中发往“dave”的邮件发件人和主题
require 'net/imap'
imap = Net::IMAP.new('my.mailserver.com')
imap.authenticate('LOGIN', 'dave', 'secret')
imap.examine('INBOX')
puts "Message count: #{ imap.responses["EXISTS"]}"
imap.search(["TO", "dave"]).each do |message_id|
envelope = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"]
puts "#{envelope.from[0].name}: \t#{envelope.subject}"
end
1.2 将2008年4月的邮件从“Mail/sent - mail”文件夹移动到“Mail/sent - apr08”文件夹
require 'net/imap'
imap = Net::IMAP.new('m