Rubyのmail gemでメール受信&削除をしつつ添付ファイルを保存する話
#! /usr/local/bin/ruby
require 'mail'
Mail.defaults {
retriever_method(:pop3,address:"127.0.0.1",port:110,user_name:popus,password:poppw)
}
Mail.find_and_delete(what: :first,find_and_delete:true).each do |m|
m.parts.each do |p|
File.open('/tmp/' + p.filename , "w+b" , 0644) {|f| f.write p.decoded} if p.attachment?
end
end
こんな簡単にできるなんて嬉しい。
会社のメール処理自働化進みます。
なんでこんな追加要素がほとんどないページを書いたかというと、mail gemでサーバからの削除方法がgithubに書いてなかったからなんです。
おまけにgoogleでググっても日本語が引っかからない。
find_and_delete
メソッドですからね!