2008-08-03
_ Publish::IMAP を SSL 対応にする
Plagger でメール送信といえば Publish::Gmail ですが,Gmail で見るだけなら,Publish::IMAP 使う方法もあるなぁ,ということで試してみたら動かない.Gmail の IMAP 接続には SSL が必要なので,Publish::IMAP で SSL 通信のオプション渡せるように手を加えてみました.
use_ssl オプションで 1 を指定し,ホスト名とポート番号を指定します.デフォルトは localhost:993 です.以下 diff です.
--- IMAP.pm 2008-07-24 13:27:36.000000000 +0900 +++ IMAP.pm.new 2008-07-24 16:36:25.000000000 +0900 @@ -8,6 +8,7 @@ use Encode::MIME::Header; use MIME::Lite; use IO::File; +use IO::Socket::SSL; use Mail::IMAPClient; use Digest::MD5 qw/ md5_hex /; @@ -27,7 +28,18 @@ sub initialize { my($self, $context, $args) = @_; my $cfg = $self->conf; + + my $socket = undef; + if ($cfg->{use_ssl}) { + $socket = IO::Socket::SSL->new( + Proto => 'tcp', + PeerAddr => $cfg->{host} || 'localhost', + PeerPort => $cfg->{port} || 993, + ) or die $context->log(error => "create scoket error; $@"); + } + $self->{imap} = Mail::IMAPClient->new( + Socket => $socket, User => $cfg->{username}, Password => $cfg->{password}, Server => $cfg->{host} || 'localhost',
Gmail への IMAP 接続時の設定を例にすると以下のようになります.
- module: Publish::IMAP config: use_ssl: 1 host: imap.gmail.com port: 993 username: example@gmail.com password: password folder: plagger
余談ですが,stone を使って中継すると,Publish::IMAP には手を加えずに接続できたりします.例えば,以下のように stone を実行して,Publish::IMAP ではローカルのポートに接続するといった形になります.
$ stone imap.gmail.com:993/ssl 10143
これはこれで使えますね.
2008-08-06
_ Windows のバッチファイルで特定のディレクトリ以下の JAR ファイルを CLASSPATH に通す方法
とある Java のアプリケーションの実行のために,いくつかのライブラリを CLASSPATH に通してやる必要がありました.必要なライブラリの PATH をべたっと書いてしまってもいいのだが,数が増えたり,名前が変わったり,なんかのたびに修正するのも面倒なので,特定のディレクトリ下のライブラリをさくっと設定できないかと思って調べてみた.
Include all jars in the classpath definition - Real's Java How-to: によると,Windows XP 以降では以下のスクリプトで設定が可能なようです.
@echo off setlocal ENABLEDELAYEDEXPANSION if defined CLASSPATH (set CLASSPATH=%CLASSPATH%;.) else (set CLASSPATH=.) FOR /R .\lib %%G IN (*.jar) DO set CLASSPATH=!CLASSPATH!;%%G Echo The Classpath definition is %CLASSPATH%
例では,環境変数 CLASSPATH にカレントディレクトリを追加し,lib ディレクトリ以下の拡張子が jar のものを CLASSPATH に追加しています.
ENABLEDELAYEDEXPANSION は「遅延環境変数の展開」というもの.これにより環境変数の展開が実行時に行われるようになります.遅延環境変数の展開については CMD.EXEの遅延環境変数の展開 - KUBUN での説明がわかりやすかったです.
Windows バッチファイルはごくたまにしかさわらないので知らないことばかりですが,知っておくといろいろ便利ですね.
2008-08-08
_ microsummary プラグインを更新
Firefox のライブタイトルに tDiary を対応させるプラグイン,microsumary プラグインを更新しました.以前のバージョンでは,generator の XML ファイルを別途自分で配置する必要がありましたが,microsumary プラグインの設定画面でファイル名を設定すると自動的にファイルを生成するようにしました.
最新の microsummary プラグインは CodeRepos にあります.
すでに利用している分には特に更新する必要もないですが,新たにプラグインを利用されるときに若干導入しやすくなるのでは…と思います.
2008-08-11
_ 鍵をかけたか心配になる
時々,玄関の鍵をかけたかどうか思い出せなくて心配になることがあったりする.今は夏休みで実家に帰省中なんですが,実家についてから「あれ,鍵かけたっけ…」と思い始めたら,気になって,気になって….
だいたいそうやって思ったときは,きちんと鍵がかかっているんですけどね.今まで鍵をかけ忘れて出かけたのは 1 度だけ.そのときは,かけたかどうかなんて気にもせず,帰ってきたときに,あれ,開いてる…みたいな.
まぁ,一度気になり始めると,どうしようもなくなってしまうので,友人に確認しに行ってもらった.結局のところ,無事,鍵がかかっていたわけですが.
学生時代にロッカーについていた鍵は,鍵の表示を見れば施錠状態がわかるもので便利だったんだけど,今,住んでる家はカード型キーで,そんな仕組みもなく.施錠が確認できる鍵ってあまりみかけないなぁ.
2008-08-26
_ flv.qlgenerator がいつのまにか機能しなくなっていた
Mac OSX Leopard の便利機能な機能のひとつに QuickLook があります.ファイルを開かずに中身が確認できるので非常に重宝しています.
QuickLook はプラグインを利用して拡張することができます.標準では FLV ファイルには対応していないのですが,flv.qlgenerator を導入すると FLV ファイルも QuickLook で表示することが可能になります.
で,どういうタイミングで発生するのかよくわからないのですが,いつの間にか機能しなくなってしまっていることがあります.Finder でサムネイルも表示されないし,QuickLook で再生されない.
ひとまず ~/Library/QuickLook から flv.qlgenerator を別ディレクトリに退避させて Finder を再起動.で,プラグインを戻してもう一度 Finder を再起動してみた.…が,まだ動作しない.
そこで qlmanage コマンドを利用してプラグインのデータを再読み込みしてみる.
$ qlmanage -r 2008-08-26 22:23:25.954 qlmanage[4327:10b] Resetting all generators
すると FLV ファイルのサムネイルが表示され,QuickLook でも再生できるようになった.
2008-08-28
_ 大雨
昼間は窓のない部屋に閉じ込められているので,いつも外の様子がわからないんだけど,どうやら結構激しい雨が降ったらしい.電車も止まっていたようだけど.帰る頃には既に雨もあがって路面も乾き始めてた.
ちょうど家についたくらいから,ぱらぱらと降り始めてきた雨は.夜中からものすごい勢いに.雷の影響か停電も起きるし.停電は今月これで 2 回目だなぁ.
雷のたびに電源抜き差しするのは面倒だ…
2008-08-29
_ 大雨の影響
前日からの大雨とはうってかわって,晴れ間も見える天気に.とはいえ,昨日の夜から名鉄は運転見合わせとかでてたから,今朝はどうなっているかなぁと思ったら,とりあえず動いているっぽいので出勤.駅に着いたら,案の定ものすごい人.着いた電車も満員.うんざりしながら電車にのりこみなんとか出勤.
心なしか今日は出勤している人が少ないような