Personal tools
Navigation
About this blog
なごすいぶろぐ。「すべてはなごすいのために」。
Categories
COREBlog2 (29)
Zope (59)
Linux (26)
Misc (47)
Nagosui (11)
ReadingCOREBlog (7)
Plone (74)
Python (18)
Turbogears (18)
COREBlog1 (30)
moblog (5)
Django (12)
Recent entries
Python東海第0回キックオフとMercurial nyusuke 2008-08-28
ALAにJeffさんの記事が。 nyusuke 2007-06-14
WebデザイナーのためのDjangoはじめの一歩 nyusuke 2007-05-29
東海Python Workshop 01終了 nyusuke 2007-05-27
東海Python Workshop 01が開催されます nyusuke 2007-05-13
Recent comments
Re:WebデザイナーのためのDjangoはじめの一歩 nyusuke 2007-06-01
Re:WebデザイナーのためのDjangoはじめの一歩 pateo 2007-05-31
Re:東海Python Workshop 01終了 nyusuke 2007-05-31
Re:東海Python Workshop 01終了 kfuruhata 2007-05-30
Re:管理画面からみるPlone3.0ベータ(前半) nyusuke 2007-05-03
Recent trackbacks
Plone Captcha 1.0.2 と Plone Captchas 1.0 takalog 2007-01-13
plone 2.5.2-rc1 にアップグレード takalog 2007-01-05
Vine Linux 4.0 にアップグレード(その1) takalog 2006-11-26
オハイオ州日本語サイトを手かけ始めた ロバートのブログ 2006-08-14
TurboGears関連記事 Twisted Mind in TurboGears 2006-08-06
Recent Changes
All recent changes…
Amazon Items






Adsense
Document Actions

moblog奮闘記1

by nyusuke posted at 2006-10-06 02:21 last modified 2006-10-06 10:11

手順の確認

moblogに必要なファイルを入手する

moblogをするための準備をします。まずは柴田さんの書いたスクリプトを拝借してきます(moblog.pyおよびadd_moblog_entry.py)。これらは以下のようなファイルです。

moblog.py
メールサーバにアクセスして画像やら何やらをごにょごにょします。COREBlog2が稼働しているサーバのホームディレクトリなどに置いて、cronなどで定期的に実行するファイルです。
add_moblog_entry.py
実際にCOREBlog2にエントリを投稿する本体です。ZMIから「Ploneインスタンス/portal_skins/custom」へScript(Python) としてアップロードします。アップロードする際には「.py」をつけてはいけません。

moblog.pyを編集する

素のmoblog.pyはメールサーバがAPOP認証を行うことを前提に書かれています。少し編集することでAPOPに対応していないサーバでも使うことができます。

編集する必要があるのは2カ所あります。

まずは100行目付近の以下の部分です。

95    #
96    # Please set some information,(host of mail server,etc) to use
97    #
98
99    import poplib
100   s = poplib.POP3('host.of.mail.server')
101   s.apop('yourmailaccount','mailpassword')

APOPに対応しているメールサーバを利用する場合は100行目、101行目をそのまま編集すればよいでしょう。例えば以下のようにします。

100   s = poplib.POP3('mail.example.com')
101   s.apop('nyusuke','hogehoge')

APOPに対応していないメールサーバを利用する場合は101行目をコメントアウトし、その後に以下のような変更を加えます。

100   s = poplib.POP3('host.of.mail.server')
101   # s.apop('yourmailaccount','mailpassword') ←ここはコメントアウト
102 s.user('nyusuke')  ←アカウント名
103 s.pass_('hogehoge') ←パスワード

もう一カ所編集する部分があります。106行目付近にある以下の部分です。

106        msgbody = '\n'.join(m[1])
107        add_moblog_entry(msgbody,
108         'http://[user]:[pass]@url.of.blog/path2/blog/','password4mail')

上記の108行目を編集します。内容は以下のようになります。

[user]
Ploneのユーザ名
[pass]
Ploneのパスワード
url.of.blog/path2/blog/
COREBlog2までのパス
password4mail
moblog用の秘密の暗号(何でもよい)

例えば以下のようになります。

108         'http://nyusuke:fugafuga@nagosui.org/Nagosui/COREBlog2/','entrymoblog')

半角の括弧、すなわち”[”や”]”は必要ありません。

また、

COREBlog2までのパスの最後にはスラッシュ”/”が必要です。

編集が終了したらこのスクリプトをホームディレクトリなどに置いておきましょう。

$ mv ./moblog.py /home/nyusuke/moblog.py

add_moblog_entry.pyをPloneにアップロードする

add_moblog_entry.pyは特に編集する必要はありません。ZMIから「/Ploneインスタンス/portal_skins/custom」へ行き、画面右上のプルダウンメニューから「Script(Python)」を選び、idを「add_moblog_entry」として追加します(下図参照)。

拡張子の部分、すなわち「.py」を付けないように注意してください。

add_moblog_entryを追加する

COREBlog2の準備

準備というほどのものではありませんが、

  • moblogというidのカテゴリ
  • imagesというidのフォルダ

が必要です。

携帯からエントリする

上記の設定が終わったら実際に携帯から投稿してみます。宛先、件名、添付ファイルなどは問題ないと思いますが、本文には注意が必要です。本文は以下のように入力してください。

  • 本文1行目:moblog.pyの108行目で設定した秘密の暗号。これがmoblog.pyのものと一致しないとエントリが投稿されません。
  • 本文2行目:投稿されるエントリの、カテゴリのidを指定します。空の場合はmoblogカテゴリになります。
  • 本文3行目以降:エントリの本文になります。

ですので、例えば以下のようになります。

entrymoblog

実家の猫、「道」ちゃんです。

このような内容のメールを携帯から送った後、ホームディレクトリに置いたmoblog.pyを実行すればCOREBlog2にエントリが投稿されるはずです。

参考エントリ

以下のエントリが参考になります。

以前はsakaさんがmoblogについての有用なドキュメントを残していてくれたのですが、自サーバを停止し、移転後は何故かrestがうまくいってないらしく、現在ドキュメントへのリンクは切れています。

運用例:Yahooメールアカウントを利用してmoblogする

Yahooアカウントの取得とmoblogするためのメールの設定

ウチのメールサーバではimapを使っていますので、このままではmoblogできません。かといってPOPサーバを導入するのもめんどくさいし、moblogだけのためにそこまでやるのもなぁ、ということでYahooメールを使ってmoblogしてみます。

Yahooへ行ってアカウントをとったあと、Yahooメール使い方ガイドを見ながらPOPとして利用するための設定を行います。ステップ8のアカウントのまとめはmoblog設定に便利ですのでプリントアウトして手元に置いておくと良いでしょう。

以下のようになるはずです(アカウントなどは仮のものです)。

  • 受信メール(POP3サーバー):pop.mail.yahoo.co.jp
  • 受信メール(SMTP)サーバー:smtp.mail.yahoo.co.jp
  • アカウント名/ログイン名:nyusuke_moblog
  • メールアドレス:nyusuke_moblog@yahoo.co.jp
  • パスワード:nyusukemoblog

moblog.pyの編集

アカウントの準備が整ったので、上述のmoblog用のスクリプトをダウンロードし、moblog.pyを編集します。

Yahooメールアカウント以外で編集に必要な項目を以下のように仮定します。

  • Ploneのアカウント:nyusuke
  • Ploneのパスワード:nyusukeplone
  • COREBlog2のパス:http://nagosui.org/Nagosui/COREBlog2/
  • moblog用の秘密の暗号:entrymoblog

ということでmoblog.pyは以下のようになります。

100    import poplib
101    s = poplib.POP3('pop.mail.yahoo.co.jp') ← YahooのPOPサーバ
102    # s.apop('yourmailaccount','mailpassword') ← APOPは使わないのでコメントアウト
103    s.user('nyusuke_moblog') ← Yahooのアカウント名
104    s.pass_('nyusukemoblog') ← Yahooのパスワード
105    l = s.list()
106    if len(l) and l[1]:
107        m = s.retr(1)
108
109        msgbody = '\n'.join(m[1])
110        add_moblog_entry(msgbody,
111         'http://nyusuke:nyusukeplone@nagosui.org/Nagosui/COREBlog2/','entrymoblog') ← COREBlog2のパスと秘密の暗号

スクリプトの設置

moblog.pyはホームディレクトリに置いておくことにします。

$ mv ./moblog.py /home/nyusuke/moblog.py

add_moblog_entry.pyは上述したようにPloneのcustomにアップロードします。

またCOREBlog2にmoblogカテゴリとimagesフォルダを作成しました。

imagesフォルダはおそらく存在していると思いますが、何故かimagesフォルダがない、という場合にはこちらを参考にしてください。

cronへの登録

定期的にmoblog.pyを実行する(Yahooメールに新着のmoblogメールが無いかどうか確認する)ためにcronへ登録します。

まずはmoblog.pyを実行可能にしておきます。

$ chmod 755 /home/nyusuke/moblog.py

cronへ登録します。ここでは10分ごとにメールをチェックするように設定しましょう。

$ crontab -e
  0-59/10 * * * * /home/nyusuke/moblog.py

携帯から投稿する

  • 宛先:nyusuke_moblog@yahoo.co.jp
  • 件名:テストぷり
  • 添付:06-09-18_17-16.jpg
  • 本文1行目:entrymoblog
  • 本文2行目:
  • 本文3行目:テストですお

としてメールを送信すると、このエントリのようになります。

The URL to Trackback this entry is:
http://nagosui.org/Nagosui/COREBlog2/fight-for-moblog-1/tbping

Re:moblog奮闘記1

Posted by saka at 2006-10-06 06:00

ごぶさたしてます。
objectis.netは、自分の設定のせいなのか何だかよくわからない状況です(笑)moblog.pyは複数画像の添付とか画像無しをOKに改造したような思い出が…他にホスティングがないかなあ。

Re:moblog奮闘記1

Posted by nyusuke at 2006-10-06 10:34

freezope.orgはどうなのかなぁ、って今確認してみたら
なんかProxyErrorでregisterできなかったです…

Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
Enter the word