« 懲りずに | メイン | それにしても »

mail-entryとMT4iと…

せっかくなので携帯から投稿できるようにしてみた。
やったこと〜。MacOS X(10.3)前提でお話します。

1. POPをDovecotにしてMaildir形式にした(サーバ移行時に作業済み)
dovecotとかでググるといろいろ出てくるので参照してください。
インストール自体も特に難しくないです。

2. procmailを使えるようにしておく
ついでにこちらのページを見て、ちょっとスパム対策とかしてみたり(しつつも実はspamassassin入れてたりする…無意味)。

3. 携帯からのメール受信用のユーザーを作成(ここではモバ夫と呼ぼう)
これは……MacOS Xなので普通にシステム環境設定からユーザー追加。権限は最低にしておく。
ついでに、サーバにsshログインして、rootユーザーになっておき、モバ夫のルートディレクトリにMaildirを作っておく。

% sudo tcsh
# cd /Users/mobaO/
# mkdir Maildir
# cd Maildir
# mkdir new tmp cur
# chmod 700 *
# chown mobaO *
# chgrp mobaO *

4. mail-entryをインストール(付随してperlモジュールをしこたまインストール)
必須モジュールでちょっとしたコツが。全部CPANにあるのですが、sudo cpan install HOGEとかやると、大概コケるので、サイトからダウンロードして、

% tar -zxf hoge.tar.gz
% cd hoge
% perl Makefile.PL
% make
% sudo make install
でいけます。
エラーでたら、他のモジュールが入ってるかどうか、などなど確認してください。
結構いろいろ入れたはず……。
それと、MIME::Parserは最新版を入れるとmail-entryが500エラーになるので、5.420をインストールしてください。
あと、何かのモジュールをいれたとき、インストールでコケたので、手動コピーした記憶が……。

ここまできたら、一旦メールで投稿できるかどうか、発信者:自分、受信者:モバ夫にして確認したほうが良いでしょう。

5. MT4iをインストール
特に苦もなくインストール完了。mt4i.cgiのみをブログのindex.htmlのあるディレクトリ(うちで言うところのhttp://blog.mac-server.com/)にmobileディレクトリ切ってindex.cgiとリネームして設置。
以下の.htaccessを書き加えた。

RewriteEngine Off
DirectoryIndex index.cgi
AddHandler cgi-script .cgi
Options ExecCGI

6. モバイルからのアクセスはapache側でモバ用ディレクトリにリダイレクトさせる
ブログのルートにアクセスしてきた携帯君をmobileに転送する設定をindex.htmlのあるディレクトリ上に.htaccesを作成して記入。

Options FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP.Browser|J-PHONE|Vodafone|SoftBank)
RewriteRule ^$ /mobile/ [R]

7. モバ夫に.forwardと.procmailrcとシェルスクリプト
モバ夫でログインして、以下のシェルスクリプトを作る。 シェルスクリプトは何でもいいのでお好きなエディタで適当な名前付けて保存してください(ここではmailEntryとしておきます)。

curl http://YOURDOMAIN/PATH/TO/MAIL-ENTRY/mail-entry.cgi
を記入。 もし、mail-entry.cgiを設置しているディレクトリがBASIC認証かかっているようなら、
curl -u USERNAME:PASSWD http://YOURDOMAIN/PATH/TO/MAIL-ENTRY/mail-entry.cgi
作成したmailEntryに実行権限を与えます。
% chmod 755 mailEntry
実際に起動させます。動くとhtmlが表示されるはず…。
% ./mailEntry
<!DOCTYPE HTML PUBLIC "-//W3C//DTD Compact HTML 1.0 Draft//EN"><html><head><meta name="CHTML" HTTP-EQUIV="content-type"><title>Error</title></head><body>#᡼######################</body></html>
とか出たらOK。 モバ夫のルートディレクトリに.procmailrcを設置します。
.付きファイルはFinderでは見えませんので、viかpicoで書くか、procmailrcという名前で、Jeditなどで作成しておき、作成し終わったら.procmailrcとリネームしてください。
SHELL=/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
CONFDIR=/etc/postfix
LOGFILE=$HOME/log/procmail.log
LOCKFILE=$HOME/.locfile
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR

:0 c
|$HOME/mailEntry
次に.forwardを作成します。.付きファイルはFinderでは見えませんので(ry
"|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #~/Maildir/"

以上ですべての設定が終了です。モバ夫にメールしてみて、投稿できるか確認しましょう。
結構失敗しやすい穴があったりするので、常々テストしまくりでやっていくとうまくいくと思います。

トラックバック

このエントリーのトラックバックURL:
http://blog.mac-server.com/cgi-bin/mt-tb.cgi/192

コメントを投稿


画像の中に見える文字を入力してください。

About

2007年12月15日 00:06に投稿されたエントリのページです。

ひとつ前の投稿は「懲りずに」です。

次の投稿は「それにしても」です。

他にも多くのエントリがあります。メインページアーカイブページも見てください。

Powered by
Movable Type
@Style
Firefox meter