標準では入っていないのでインストールする。
gem install tmail
実験用プログラム
$KCODE = 'sjis'
require "tmail"
require "base64"
arg = ARGV[0]
path = arg[4, arg.size]
mail = TMail::Mail.load(path)
log = open("/tmp/receiveVideo/test.log", "w")
log.puts "From:" + mail.from.to_s
log.puts "To :" + mail.to.to_s
log.puts "Subject:" + mail.subject
def parse(part, log)
if part.multipart?
part.parts.each do |p|
parse(p, log)
end
else
if part.content_type == "text/plain"
log.puts "Body:" + part.body
else
attach = open(part.main_type + "_" + part.encoding + "." + part.sub_type, "w")
if part.main_type == "text"
attach.write(part.body)
else
attach.write(Base64.decode64(part.body))
end
attach.close
end
end
end
parse(mail, log)
log.close
添付の動画のデコードがうまくできない。なぜ?
参考:
メールで送った画像をサーバに保存させる
TMail の使い方
class TMail::Mail (リファレンス。古いバージョン?)
RubyでBase64 - 今日覚えたこと (Base64について)
packテンプレート文字列 (データのpackについて)
0 件のコメント:
コメントを投稿