Org=>GmailSMTPでウマー
OrgをGmailに送りたい。
1.EmacsのバッチでOrgのTODOとかを出力
utf8だと文字化けした。
生の.emacs読み込ませると遅いのでorgバッチ用のorgだけ読み込む.emacsを作ると良いですね。
文字化け回避について
http://d.hatena.ne.jp/tanitsu/20090311/1236762879
#!/bin/zsh emacs --batch --unibyte --load ~/emacsorg --eval "(let ((buffer-file-coding-system 'raw-text)) (org-batch-agenda \"t\"))" > ~/tmp/todo.txt emacs --batch --unibyte --load ~/emacsorg --eval "(let ((buffer-file-coding-system 'raw-text)) (org-batch-agenda \"a\"))" > ~/tmp/agenda.txt
2.GmailにGmailSMTPで送信部分
作ったファイルをrubyで送信。
メール送信について
http://d.hatena.ne.jp/unageanu/20090429/1241001029
#! /opt/local/bin/ruby # -*- coding: utf-8 -*- def myReadFile(filename) buf = "myreadfile" begin File.open(filename,'r'){ |io| buf = io.read } rescue puts "読めませんでしたよー" end return buf end #gem install tmail tlsmail (1.8ねー) require 'rubygems' require 'tmail' require "tlsmail" def myMakeMail(to,sbj,body) # tmailでメールを作成 mail = TMail::Mail.new mail.to = to mail.from = 'fromなメールアドレス' mail.subject = sbj mail.date = Time.now mail.mime_version = '1.0' # mail.set_content_type 'text', 'plain', {'charset'=>'iso-2022-jp'} mail.set_content_type 'text', 'plain', {'charset'=>'utf-8'} mail.body = body puts mail.to_s if $DEBUG # 作成されるメールを確認したい場合はこちら。 return mail end def mySendMail(c,mail) # メールはNet::SMTPで送信。 # gmailはTLSによる暗号化が必要なので、tlsmailを利用する。 # また、認証も必須。 Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE) Net::SMTP.start( c[:server], c[:port], c[:domain], c[:user], c[:pass],c[:auth]){ |smtp| smtp.sendmail(mail.encoded, mail.from, mail.to) } end gmailconfig = { :server => 'smtp.gmail.com', :port => 587, :domain => 'localhost.localdomain', :user => 'あなたのメアド', :pass => 'パスワード', :auth => 'plain' } buftodo = myReadFile('/Users/seijiro/tmp/todo.txt') bufagenda = myReadFile('/Users/seijiro/tmp/agenda.txt') puts buftodo if $DEBUG puts bufagenda if $DEBUG mail = myMakeMail('Toなメールアドレス','todo and agenda',buftodo + bufagenda) mySendMail(gmailconfig,mail)
3.cron用にまとめたスクリプト
以下を時間"*/3"とかでcronで回しましょう。
3時間に一回メールが飛んでくるよ!iphoneで確認しよう!
#!/bin/zsh /Users/seijiro/scripts/orgbatch /opt/local/bin/ruby /Users/seijiro/scripts/readorg.rb growlnotify -t "org2gmail" -m "done"
感想
EverNoteの人とかがいつでも!どこでも!とかって嬉しそうにおっしゃっておられるけれどアレはインターフェース弱いだろ。。。とあちらには攻め込めない。
Emacsでやる意味というのは、タスク管理などと言うめんどくさい作業そのものが
Emacsでやることによりひたすら楽しい作業に変わるということなのです。
楽しくないと継続しないんだぜ。
感想2
webサーバー持ってるならemacsからhtml形式で出力したものを公開しても良いねぇ。。
カレンダー機能が弱いなぁ。
http://d.hatena.ne.jp/t0m0_tomo/20100103/1262537012
を試したけど.htaccessのところで頓挫。生成物をgcalが読み込んでくれね。
lightningはよみこんでくれたのでまぁまぁ。