Movable Typeを自宅サーバーに設置してみて、
携帯で更新したいと思って検索したらこんなのが見つかった。
携帯からメールで送信したら、エントリーが追加されるそうだ。
便利そうなので、インストールしてみることにする。
まずはドキュメントを読んで、インストール。
・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環境が出来ました。
携帯のカメラは今まであんまり使ってなかったけど、これで使うようになるかな?


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