トップ «前の日記(2009-11-27(金)) 最新 次の日記(2009-11-29(日))» 編集

とた日記


2009-11-28(土) 晴のち曇 安静時心拍数 59 [長年日記]

_ Gmailに配信された楽天ショップからのメルマガを配信停止にするスクリプト

1通1通手で処理するのは面倒なのでスクリプトを書いてみました。

require 'rubygems'
require 'mechanize'
require 'net/imap'
 
imap = Net::IMAP.new('imap.gmail.com', 993, true)
imap.login('hoge@gmail.com', 'fuga')
imap.select('INBOX')
ids = imap.search(["UNSEEN"])
seqnos = []
imap.fetch(ids, "BODY[TEXT]").each {|mail|
  body = mail.attr["BODY[TEXT]"]
  if %r|(http://emagazine.rakuten.co.jp/q.*)| =~ body
    url = $1
    agent = WWW::Mechanize.new
    page = agent.get(url)
    agent.page.encoding = 'eucJP'
    agent.page.form_with(:action => '/q') {|form|
      form.click_button if form
    }
    seqnos.push(mail.seqno)
  end
}
seqnos.each {|seqno|
  imap.store(seqno, '+FLAGS', [:Seen])
  imap.store(seqno, '+FLAGS', [:Deleted])
}
imap.expunge
imap.disconnect

最初、迷惑メールとして処理してしまっても良いかと思ったのですが、誤学習されると後で不自由になるので。

_ 旅行マップ

よや師匠から招待されていたので使ってみようと思ったのですが、どのレベルでマークすればよいのかなどあれこれ考えてしまい結局まだどこにもマークしていません。暇になったらやってみよっと。