我有一个用例,我想获取特定电子邮件的所有附件的文件名,而无需下载附件。可以使用IMAP和POP3吗?
我正在使用ruby的Net :: IMAP和NET :: POP3类。
答案 0 :(得分:2)
这应打印有关附件的信息(未经测试),但您可以查看here
require 'net/imap'
imap = Net::IMAP.new('domain.name.com')
imap.authenticate('LOGIN', 'mailbox', 'password')
imap.select('INBOX')
imap.search(["SINCE", "8-Aug-2002"]).each do |message_id|
attach = imap.fetch(message_id, "BODY")[0].attr["BODY"]
puts "#{attach.parts[1].media_type}"
puts "#{attach.parts[1].param['NAME']}"
puts "#{attach.parts[1].subtype}"
puts "#{(attach.parts[1].size)/1024} kb"
end
答案 1 :(得分:0)
使用IMAP .filename
require 'net/imap'
require 'mail'
imap = Net::IMAP.new('HOST', 993, true)
imap.login('username@mail.com', 'PASSWORD')
imap.examine('INBOX')
imap.search(["SINCE", "30-Nov-2020"]).each do |message_id|
body = imap.fetch(message_id, "BODY[]")[0].attr["BODY[]"]
mail = Mail.new(body)
mail.attachments.each do |a|
p a.filename
end