browncat.org
  Top 
     >Palm Gadgetry 
     自宅サーバを立ち上げよう! 
     Linuxのページ 
     blog@browncat.org 
     wiki@browncat.org 
 Palm Gadgetry
     Top/日記 
       過去の覚え書き 
 HowTo
     FreeBSD+PalmIII 
>    pilot-mailの使い方 
     with rta50i 
     Network HotSync with Unix 
     CLIE NR70とLinux 
 Development
     gccでpalmware開発を 
     localizerの作り方 
     pilrc情報 
     Palmware開発ツールメモ 
       私家版pilot-template 
     Prc-tools情報 
     TRGpro Memo 
 Other
     Favorite Palmware 
     PalmOS3.3で気になること 
 Software
     My Palmwareの倉庫 
       MailViewer 
       PoplDA 
       TinyDAs 
       Dhrystone 
       DAManager 
       LockApp 
       Syncit 
 Social Bookmarks
 逆Links
  派楽天地 (中国語) 
  VAIO, Palm, Linux, 連珠... 
  AB+ (ABPlus.com) 
  Hoshi's Palm OS Page 
  わ〜ぱほりっく 
  Palmfan 
  Upup Palm Load! 
  (順不同.ご一報下されば追加します) 
 Contact
  このサイトの作者にMail! 
 Search

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位置修正,誤字修正,若干記述追加など

  1. はじめに
  2. 準備するもの
  3. 設定
  4. 使い方
  5. おまけ
  6. 標準メールソフトで使用しているヘッダフィールド
  7. mbox形式とMH形式との相互変換
  8. 最後に

はじめに

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-*)

他に以下のフィルタ類をインストールします。 といっても適当にパスの通ったディレクトリにコピーするだけです。
ダウンロード pilot-mail-sup-03a.tgz コード変換/フィールド削除フィルタ

設定

  1. MHフォルダの設定

    PalmPilotへ送るメールのフォルダを "folder +pilot" として作成します。 以下の説明ではMHのディレクトリは$HOME/Mail, pilotとのデータ交換用フォルダを+pilotであるものとします。

  2. 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で取り込んだ後のメールを保存するかどうか
    • keep -- 保存
    • delete -- 削除
    -d PILOTDISPOSE file 送信後のメールの扱い
    • keep -- 保存
    • delete -- 削除
    • file -- ファイル
    -m TOPILOT_MHDIR $HOME/Mail/pilot pilotに渡すメールのフォルダ

  3. 前出 メール交換用スクリプト 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スクリプト)で不要なフィールドを削除します。
  4. 設定例
    1. 環境設定
      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
      	  
    2. 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
      	  

使い方

  • 上記の設定を全て済ませたらあとは

    1. 母艦からpilot-mailを実行する
      	      hoge$ pilot-mail
      	    
    2. PalmPilot側でHotSyncする

    で送受信ともに完了です。

  • 注意
    たまに通信エラーやPalmPilot側のメモリ不足などが 起こったりしてメールが全部送受信出来ない時があります。(特に母艦->Pilot) そんな時には必ず "folder +pilot -pack" としてメッセージの番号を 並べて直して下さい。でないと次からpilot-mailがメールを送ってくれません。

おまけ

おまけをアーカイブに追加しました。ご参考まで。 (2000/2/4)

  1. mailtodoc

    • 大きなメールもDOCに変換すれば読めます。
    • makedocをインストールして下さい。FreeBSD portsではpalm/pilot_makedocです。古いportsですとtextprocです。
    • DOCのタイトルはSubjectから取り出しますのでDOCアプリからは日本語でタイトルが見えます。

  2. 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からメールを送信したい方は他のフィールドも残しておいた方がいいでしょう

    1. Subject (*)
    2. From (*)
    3. Date (*)
    4. To (*)
    5. cc
    6. bcc
    7. replyTo
    8. sendTo
    *) -- このページからダウンロードできるスクリプトで残すフィールド


mbox形式とMH形式との相互変換

mbox形式のメールボックスには上記の方法はそのままでは使えません。 しかし、mhとprocmailを使用すれば大丈夫です。
  1. mbox形式からMH形式への変換
    1. mhのincコマンドを使う

      一番簡単な方法です。

      inc +FOLDER -file MAILBOX

      などとすればOKです。

    2. procmailのformailを使う

      こちらはもう少しいろんなことが出来ます。 message-idを使って重複メールを削除したり、フィルタを通したり フィールドを編集したりできます。ただしコマンドラインから使うにはちょっと面倒です。

      formail -D 10240 $HOME/.idcache -s /usr/local/lib/mh/rcvstore +FOLDER

      で、message-idのcache10KBで重複メールを削除、重複していない メールは+FOLDERに保存します。

  2. 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>などということも出来ます。


最後に

なお、本ページの内容を使って発生した如何なる問題、損害、不利益などについて 当方は一切責任を持ちません。

ご意見ご要望などは yamap@browncat.org まで
このページは以下のソフトウェアを使用して作成しました:
Kondara/MNU Linux,FreeBSD,XEmacs,Mule,jed,w3m,Netscape Communicator,MetaHTML,apache,jweblint,efstat,Namazu...
Thank you for visiting this page
Modified: 00/02/06