テーマ:今日の出来事(292601)
カテゴリ:お仕事など
今回は、また Rails の話です。
「10分で作るRailsアプリ for Windows」も無事クリアし(^_^)、 次へステージ進むべく「Ruby on Rails入門 優しいRailsの育て方」を買ってきたが、 やっぱ興味あるネタがないと、舞波の技は身につきませんね。 せっかくの3連休ってことで、 ちょうど、前からやってみたかったネタがあったので、 Rails を使って挑戦してみました。 やりたいのは、Webのメール共有管理ツールを作ること! イメージとしては、サイボウズのメールワイズ(*1)です。 ◆まずは、<実験その1>として ・メールを受信し、DBへ格納する ってとこまでやってみることにしました。 Rails のことだから、それぐらいすぐに出来るだろうと思ったが、甘かった・・・ (Google で探せば、そこいらにサンプルがころがっているだろうと・・・) とりあえず、本家で HowToReceiveEmailsWithActionMailer(*2) を見たが・・・ 意味が分からん。 いや、英語が読めないってことではないですよ(^^; ソースの意味が分からんのです。 なんで、STDIN からメールを食わせにゃならんかと・・・ POP したけりゃ、 getmail を使ってみろと・・・ なんで? とりあえず、そのままソースを入れて実行しても当然エラーばっかだし・・・ 「あぁ、JavaMail 使ってりゃよかったかなぁ」と弱気になるっす。 (それじゃ、そもそもの意味が違うし!) 気を取り直して、ビールでも飲みながらいろいろと調べると、 ありました。 同じような悩みに答えてくださった人を見つけました。(*3) 「なんだ、事前にデータベースとモデルクラスの設定が必要なのね」 そりゃそうだよね♪(意外と立ち直りが早い) ってことで、 DB を作って、モデルも対応させ、メール1通分をテキストファイルにして、 ruby script/runner Mailmgr.receive(STDIN.read) < sampleMail.txt と実行すると、ちゃーんとDBへ格納されました! (マイグレーションが良く分からないので、MySQL Administrator ツールで DB を作りました) よし、次は Pop だ。 これまた、いろいろと調べると、 ありました。Popする方法が。(*4) ありがたく頂戴し、 ruby script/runner Mailmgr.r_m と実行すると、Pop して来てくれました! ここまで来れば、こっちのものです(^0^) ヘッダの中の、ほしいフィールドをテーブルに追加したり、 Pop 直後に、サーバからメールを削除する処理を追加したりと ちょちょいのちょいです。 構想:3分 製作:3日 実働12時間(うち、調べ物がほとんど) 実行結果は、こんな感じでテーブルにメールデータが入っています。 (中身は文字化けで良く分かりません。PostgreSQL 使いなので MySQL のツールも分からんす) ◆次の課題は ・文字化けの克服 ・スレッド表示のための準備 ◆ソース いただいたお礼に、ささやかながら地域に還元させていただきます。
◆注釈 *1:実際に評価版で使ってみたが、OutlookExpress のアホな仕様についてこれず、スレッド表示が役に立たなくて、購入を見合わせました。 <参考にさせていただいたサイト> *2:HowToReceiveEmailsWithActionMailer http://wiki.rubyonrails.com/rails/pages/HowToReceiveEmailsWithActionMailer *3:事前にデータベースとモデルクラスの設定が必要 http://www.fdiary.net/ml/rails/msg/884 *4:popする方法 http://pascal.orz.cn/muse/pascal/70708190014.html Net::POP3 http://www.ruby-lang.org/ja/man/?cmd=view;name=net%2Fpop TMail http://i.loveruby.net/ja/projects/tmail/ お気に入りの記事を「いいね!」で応援しよう
最終更新日
2007年08月06日 17時32分38秒
コメント(0) | コメントを書く
[お仕事など] カテゴリの最新記事
|