Jay's Room

思ったこと、感じたこと、未来の自分に伝えたいことを記していきたい

mail2entry

Movable Typeを自宅サーバーに設置してみて、
携帯で更新したいと思って検索したらこんなのが見つかった。

mail2entry

携帯からメールで送信したら、エントリーが追加されるそうだ。
便利そうなので、インストールしてみることにする。

まずはドキュメントを読んで、インストール。

mail2entryからアーカイブをダウンロード
・アーカイブを解凍
 /var/www/html/MT/plugins/mail2entry へ
・MTにmoblog用の別ユーザーを追加
・中のファイルのオーナーをapache.apache,permissionを600に変更
ここからいただいたテストデータで、コマンドラインからテスト

 # cat < メールファイル> | python mail2entry.py
 # 例:cat message | python mail2entry.py .

・qmail用のパッチをインストール
diff -u mail2entry.py.orig mail2entry.py
--- mail2entry.py.orig Mon May 19 21:22:56 2003
+++ mail2entry.py Mon May 19 21:25:14 2003
@@ -9,6 +9,7 @@
""""""
# finding and loading things from settings.py
if len(sys.argv) > 0:
+ os.umask(022)
settings_path = sys.argv[1]
settings_abspath = os.path.abspath(settings_path)
if os.access(settings_abspath, os.F_OK):

・更新メールの宛先のアドレスに .qmailファイルを以下の内容で作成
 

| /path/to/mail2entry.py /path/to/settings.py

・携帯からメールを送信してテスト
 ここではまってしまいました。
 メールを送信しても更新されず、/tmp/log-tracebacks.log に追記されず。
 /var/log/qmail/send/currentを見ると、以下のようなログが。

 deferral: /bin/sh:_/var/www/html/MT/plugins/mail2entry/mail2entry.py:_Permission_denied/

 mail2entry.pyのパーミッションを755にしたら、
 deferral: /usr/bin/env:_python2.2:_No_such_file_or_directory/
 ログは変わるもののやはり動作せず。
 結局のところ .qmailファイルの記述を変えて動くようになりました。
 
| /usr/bin/python /var/www/html/MT/plugins/mail2entry/mail2entry.py /var/www/html/MT/plugins/mail2entry/

他のサイトだとpythonを呼び出していないのですが、なぜ自分の環境では動作しなかったのか分かりません。
とりあえずこれで動作確認が出来ました。

そこで気になったのは、アドレスさえ分かれば誰でもエントリーが追加出来ることです。
調べてみるとメールのFrom:が一致する場合のみ更新するパッチが公開されていました。
PC 日記
moblog?

*** parsemsg.py.ORIG Fri Mar 12 16:22:19 2004
--- parsemsg.py Wed Aug 4 19:22:29 2004
***************
*** 4,12 ****
--- 4,14 ----

from email import *
from email.Header import *
+ from settings import *
import types
import re

+ class IllegalUser(Exception): pass
class ParseMsgError(Exception): pass
class ImageTypeNotAllowed(ParseMsgError): pass
class UnexpectedMimeType(ParseMsgError): pass
***************
*** 22,27 ****
--- 24,30 ----
class messageContent :
def __init__ ( this, title ) :
this.__title = title
+ this.__from = u''
this.__description = u''
this.__entry = u''
this.__images = []
***************
*** 36,46 ****
--- 39,54 ----
return this.__images
def addImage(this,image) :
this.__images.append(image)
+ def setFrom(this,mailfrom) :
+ this.__from = mailfrom
def getEntry(this) :
return this.__entry
def setEntry(this,entry) :
this.__entry = entry
def check(this) :
+ if this.__from != allowmailfrom :
+ raise IllegalUser
+
if not this.__description :
raise BodyEmpty
if type(this.__description) is not types.UnicodeType :
***************
*** 59,70 ****
--- 67,80 ----

msg = message_from_file(fileObject)
subject = msg['Subject']
+ mailfrom = msg['From']
results = decode_header(subject)

title = " ".join([unicodify(decoded_subject, charset) \
for decoded_subject, charset in results])

content = messageContent(title)
+ content.setFrom(mailfrom)
parseMultiPart(msg,content)

return content


パッチを当てて、settings.pyに追記
 
allowmailfrom = "投稿を許すメールのFrom"

これでmoblog環境が出来ました。
携帯のカメラは今まであんまり使ってなかったけど、これで使うようになるかな?

Posted by Jay at 2005年7月10日 19:36 | コメント (0) | トラックバック (0) | このエントリーを含むはてなブックマーク | CLIP!
このカテゴリの最新エントリー
09/04/22 - MovableType 4.2 設定画面が開かない
09/04/21 - mail2entry 1.4 アップデート
08/10/16 - iPhone/iPod touch 対応しました
08/08/23 - MovableType Perlのパスを一括変換
08/07/11 - BLOG360サービス終了していた

この記事に対するコメント

この記事に対するコメントはまだありません。


コメントを投稿する






この記事のトラックバックURL


この記事に対するトラックバック

この記事に対するトラックバックはまだありません。



Made with dreamweaverMade with fireworksPowered by Movable Type 4.25Powered by Wandering Windbeta_tester.gif
Copyright : [Articles] (C) Jay's Room All Rights Reserved.
[Comments/Trackbacks] ... Authors of those have rights.