|
pilot-mailの使い方
Unixホストとpilot-linkを使って日本語のメールをPalmPilotで
読み書きをするための情報です。
更新履歴
- 2000/2/15 誤字修正など
- 2000/2/6 mh形式,mbox形式についてちょっと書き足した。
- 2000/2/4
pilot-mail-sup-03a.tgzにmailtodocとprocmailrcの例を追加しました
- 2000/2/2 pilot-xferへのリンクでバージョンを勘違いしていたのを修正( itty君お知らせありがとう)
- 1999/12/6 使用ツールに日本語対応sedを追加(これがないと文字化けが発生します)
- 1999/11/5 MHのツールについてちょっとだけ追加
- 1999/10/13 標準メールソフトのヘッダフィールドについての記述追加。
pilot-linkバージョンアップ
- 1999/5/6 誤字修正
- 1999/4/27 誤字修正
- 1999/4/22 pilot-linkバージョンアップ,ports位置修正,誤字修正,若干記述追加など
- はじめに
- 準備するもの
- 設定
- 使い方
- おまけ
- 標準メールソフトで使用しているヘッダフィールド
- mbox形式とMH形式との相互変換
- 最後に
Unixホストとpilot-linkを使って日本語のメールをPalmPilotで
読み書きをするための情報と簡単なスクリプト類を公開します。
メールはMH形式で管理していて一部のメールをpilotに送ったり
不要なヘッダを削除したりしたいという要求を満たすためのものです。
その他の形式で管理している場合も基本は同じですので
適当に修正して試してみて下さい。mboxの場合は mbox形式とMH形式への相互変換 をお読み下さい。
以下のソフトウェアがインストールされているものとします。
各ソフトウェアのインストールについてはいろいろな情報がありますので
そちらをどうぞ。
ここではほとんど全てがインストール済みであるところからスタートです。
FreeBSDでは全てパッケージになっていますので簡単です。
pilot-link 0.9.3 |
PalmPilotシリーズとUnixenの間の通信/データ交換パッケージ |
MH (日本語版) |
メールを扱うためのコマンド群 |
procmail |
自動メールプロセッサ |
nkf |
漢字コード変換フィルタ |
sed |
日本語対応パッチ当て済みのsed (ports/japanese/sed,ja-sed-*) |
他に以下のフィルタ類をインストールします。
といっても適当にパスの通ったディレクトリにコピーするだけです。
- MHフォルダの設定
PalmPilotへ送るメールのフォルダを "folder +pilot" として作成します。
以下の説明ではMHのディレクトリは$HOME/Mail,
pilotとのデータ交換用フォルダを+pilotであるものとします。
- pilot-mailの設定
pilot-mailのコマンドラインオプションと環境変数の一覧を以下に示します。
コマンドラインオプションは全て"-? 値"の形式で指定します。
また、コマンドラインから渡すことの出来る値は全て環境変数でもセットできます。
以下の表で空欄のところは設定しなくてもいいと思います。
また、PILOTPORTはpilot-xferコマンドと共通です。
オプション |
変数名 |
設定例 |
説明 |
-p |
PILOTPORT |
/dev/cuaa0 |
HotSyncするシリアルポート |
-h |
POPHOST |
|
POPサーバのアドレス |
-u |
POPUSER |
|
POPサーバのユーザ名 |
-P |
POPPASS |
|
POPサーバのパスワード |
-f |
PILOTFROM |
hoge@hoge.ne.jp |
pilotから送信するメールのfromフィールドに入るアドレス |
-s |
SENDMAIL |
pilot-sendmail |
メール配送プログラム |
-k |
POPKEEP |
delete |
POPで取り込んだ後のメールを保存するかどうか
|
-d |
PILOTDISPOSE |
file |
送信後のメールの扱い
- keep -- 保存
- delete -- 削除
- file -- ファイル
|
-m |
TOPILOT_MHDIR |
$HOME/Mail/pilot |
pilotに渡すメールのフォルダ |
- 前出 メール交換用スクリプト
pilot-mail-sup-03a.tgzをインストール
以下のスクリプトを $HOME/bin 辺りに入れます
これらのスクリプトは
jis<->sjis,mime->sjisの文字コードの変換と
不要なフィールドを削除してメモリ使用量を
減らします。
pilot-sendmail |
標準入力をshift jis->jis変換をしてsendmailを起動します |
pilot-rcvstore |
rcvstoreでメールをmhフォルダに格納します。
rcvstoreは/usr/local/lib/mhにあります。ここには
他にもいろいろ有用なコマンドがありますのでパスに入れておきましょう。
rcvstoreは標準入力からメールを取り込みMHフォルダに収めるコマンドです。この際前処理としてnkfで jis->sjisとmimeコード->sjis変換を行ないます。
またstripmailfield(/bin/shスクリプト)で不要なフィールドを削除します。 |
- 設定例
- 環境設定
csh系の設定例を以下に示します。.cshrcなどに入れて下さい。bsh系のshellをお使いの方は適当にどうぞ。なをPILOTDISPOSE,POPKEEPの設定にご注意下さい。
以下の設定でメールを無事に転送終ったら削除します。
setenv PILOTFROM "hoge@hogehoge.ne.jp"
setenv POPKEEP delete
setenv SENDMAIL $HOME/bin/pilot-sendmail
setenv PILOTDISPOSE file
setenv TOPILOT_MHDIR $HOME/Mail/pilot
- procmail
.procmailrcに以下の設定を入れます。
以下の設定はpilot-tech-mlを +ml/pilot-tech-mlに保存し
かつ+pilotにもいれるというものです。
なを、procmail自体の使い方は man procmail, procmailex, procmailsc, procmailrcを
御覧下さい。
# Pilot-tech-ML
:0 w
* ^To:.*pilot-tech-ml@.*
{
:0 c
| rcvstore +ml/pilot-tech-ml
:0
| pilot-rcvstore +pilot
}
#以下のどちらかをコメントアウトすると残りをinboxへ入れることが出来ます
#残りはinboxへ(1)
#:0
#inbox/.
#残りはinboxへ(2)未読管理あり
#:0 w
#| rcvstore +inbox
- 上記の設定を全て済ませたらあとは
- 母艦からpilot-mailを実行する
hoge$ pilot-mail
- PalmPilot側でHotSyncする
で送受信ともに完了です。
- 注意
たまに通信エラーやPalmPilot側のメモリ不足などが
起こったりしてメールが全部送受信出来ない時があります。(特に母艦->Pilot)
そんな時には必ず "folder +pilot -pack" としてメッセージの番号を
並べて直して下さい。でないと次からpilot-mailがメールを送ってくれません。
おまけをアーカイブに追加しました。ご参考まで。 (2000/2/4)
- mailtodoc
- 大きなメールもDOCに変換すれば読めます。
- makedocをインストールして下さい。FreeBSD portsではpalm/pilot_makedocです。古いportsですとtextprocです。
- DOCのタイトルはSubjectから取り出しますのでDOCアプリからは日本語でタイトルが見えます。
- procmailの設定 (dot.procmailrc)
TOPILOT_INSTALLDIRをDOCファイルを作成するディレクトリとします。
:0 c
* ^To:.*LARGEMAIL@hoge.co.jp
| mailtodoc $TOPILOT_INSTALLDIR/LARGEMAIL`date '+%Y%m%d.%H%M%S'`.prc
- palm標準メールソフトでは以下のフィールドを使用しているようです(というか少なくともデータベース内に項目がある)
- 私のスクリプトでは最低限を残して削除してしまいます
- palmからメールを送信したい方は他のフィールドも残しておいた方がいいでしょう
- Subject (*)
- From (*)
- Date (*)
- To (*)
- cc
- bcc
- replyTo
- sendTo
*) -- このページからダウンロードできるスクリプトで残すフィールド
mbox形式のメールボックスには上記の方法はそのままでは使えません。
しかし、mhとprocmailを使用すれば大丈夫です。
- mbox形式からMH形式への変換
- mhのincコマンドを使う
一番簡単な方法です。
inc +FOLDER -file MAILBOX
などとすればOKです。
- procmailのformailを使う
こちらはもう少しいろんなことが出来ます。
message-idを使って重複メールを削除したり、フィルタを通したり
フィールドを編集したりできます。ただしコマンドラインから使うにはちょっと面倒です。
formail -D 10240 $HOME/.idcache -s /usr/local/lib/mh/rcvstore +FOLDER
で、message-idのcache10KBで重複メールを削除、重複していない
メールは+FOLDERに保存します。
- MH形式からmbox形式への変換
/usr/local/lib/mh/packmboxを使います。(Linuxでは/usr/lib/mh/...)
packmboxの使い方は
/usr/local/lib/mh/packmbox [+FOLDER] [msgs...]
です。標準出力にmbox形式になって出力されます。
msgsにはメッセージ番号だけでなくシーケンスが指定できるので
pick -seq <sequence>でsequenceに入れといてpackmbox <sequence>などということも出来ます。
なお、本ページの内容を使って発生した如何なる問題、損害、不利益などについて
当方は一切責任を持ちません。
|