gpt4 book ai didi

ruby - 如何通过 ruby​​/mikel 邮件删除服务器上的特定邮件?

转载 作者:数据小太阳 更新时间:2023-10-29 08:33:48 27 4
gpt4 key购买 nike

我想使用 Ruby/Mikel Mail gem 来访问 pop3,但我无法找到一种方法来选择性地从服务器中删除邮件。这是一些功能失调的示例代码,它说明了我是如何误解所提供的 rdoc 规范的。

require 'rubygems'
require 'mail'

Mail.defaults do
retriever_method :pop3, { :address => '...',
:user_name => '...',
:password => '...' }
end


puts "#{Mail.all.length} messages on server found."
if Mail.all.length > 0
mm = Mail.first
puts mm.from
puts "I delete all but the first mail!"

mm.mark_for_delete = false
Mail.find_and_delete

puts "#{Mail.all.length} messages on server found."
end

结果是服务器上有 2 封邮件,此脚本只是删除了这两封邮件。相反,我只希望它删除第一个。

最佳答案

自己找到的,如果你正在寻找同样的问题,为你解答..

事实证明,您必须在 find_and_delete() 处抛出一个 block ,以明确决定跳过删除消息,只需:

Mail.find_and_delete({:what=>:first}) { |msg| 
msg.skip_deletion if msg.subject == "test1826"
}

关于ruby - 如何通过 ruby​​/mikel 邮件删除服务器上的特定邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8779054/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com