[hnsドキュメント]

ハイパー日記システム Version 2.20

hns のメールによる日記の更新


mail2nikki.pl の修正

mail2nikki.pl は標準では ~/diary/bin/mail2nikki.pl にインストールされます.以前の mail2nikki.pl は mail2nikki.pl-old として保存されています.

  1. $ cd ~/diary/bin
  2. $ vi mail2nikki.pl
    $mailAddress に 報告を受けるメール・アドレスを記載
    $mailAddress = 'hoge@example.ne.jp';

    @certiy_mailAddress に 投稿を許可するメール・アドレスを記載。複数のアドレスを指定できます。
    @certiy_mailAddress = ('hoge@example.ne.jp','geho@bar.foo.jp');

    $recvMailAddress には, 処理結果メールの From: アドレスを記載します.
    $recvMailAddress = 'hoge@example.ne.jp';

    $MASTERPASSWD に パスワードを記載します.1バイト英数字を指定してください.
    $MASTERPASSWD = "himitsu";

    $LOGMODE では,受けたメールをログに保存するかを指定します. 0 エラー時のみ保存, 1 常に保存, 2 一切保存しない,です. デフォルトは 0 となっています.

    $MAILMODE では,動作報告のメールを送信するか指定します. 1 動作報告メールを送る,0 動作報告メールを送らない,です. デフォルトは 0 となっています.

    $NKF_USE には,漢字コード変換に nkf を使用するかどうかを指定します. 1 nkf を使用する,0 jcode.pl を使用する,です. デフォルトは 1 となっています.

    $sendmail には,sendmail (または sendmail相当 の プログラム) へのパスを設定します.
    $sendmail = "/usr/sbin/sendmail";

    $nkf に,nkf へのパスを設定します. nkf を使用しない場合は関係ありません.
    $nkf = "/usr/local/bin/nkf";

.forward の作成

メールで日記を更新するには,サーバが受け取ったメールを mail2nikki.pl に渡す必要があります. もっとも一般的と思われる .forward による例を紹介します.

  1. $ cd ~
  2. $ vi .forward
    hoge, "|/home/hoge/diary/bin/mail2nikki.pl "

qmail の場合

メール・サーバが qmail の場合、日記用のアドレス(例えば hoge-diary@example.ne.jp) を作成するのが 良いでしょう。

  1. $ cd ~
  2. $ vi .qmail-diary
    |/home/hoge/diary/bin/mail2nikki.pl

.forward を書いてしまうと不都合な場合

hns を設置するサーバのアカウントを通常のメール・アドレスとして利用 している場合など、.forward を置くと不都合がある場合は、以下のような設定で mail2nikki 専用のアドレスを作ることがで きます。

  1. /home/hoge/diary/hoge-nikki
    などのファイルを作り、その中に

    "|/home/hoge/diary/bin/mail2nikki.pl"

    と書いておく。 このファイルの所有者は自分自信、パーミッションは 644 としておくこと(他人が書き込めるとセキュリティ上の危険があります)。
  2. /etc/aliases
    に次の行を追加します。

    hoge-nikki: :include:/home/hoge/diary/hoge-nikki
  3. # newalias
    で aliasデータベースを更新します.

    こうすることで、hoge-nikki@example.ne.jp にメールを送ると、 /home/hoge/diary/hoge-nikki の所有者(自分自身)で mail2nikki.pl が起動され、日記を更新することができます。

    但し、この方法は古い sendmail では使用できないことがあります。 /etc/aliases を自分で編集できない場合は、そのホストの管 理者に相談してください。

日記の登録方法

メールの Subject には,
hnf:ADD, hnf:DEL, hnf:DEL&ADD, hnf:GET
hns:ADD TODO, hns:DEL TODO, hns:DEL&ADD TODO, hns:GET TODO
hns:ADD PLAN, hns:DEL PLAN, hns:DEL&ADD PLAN, hns:GET PLAN
hns:ADD REPEAT, hns:DEL REPEAT, hns:DEL&ADD REPEAT, hns:GET REPEAT
のいずれかを指定します.日記の追加は hnf:ADD, hnf:GET はすでにある hnf を取り出し,メールで送ります. 日記の削除は hnf:DEL, hnf:DEL&ADD は,今日(または指定日)の日記を入れ換えます.
TODO, PLAN, REPEAT はそれぞれ todo および 予定ファイル、繰り返し予定ファイル を 操作する時に指定します。

日記の本文は,
PASSWORD: himitsu
DATE: 19981109
で始めます.DATE: は省略可能です.省略した場合は, 今日が指定されます. PASSWORD:, DATE: の次には,ユーザ変数を書きます. ユーザ変数は,1行に1ずつ,変数名と内容はスペースで区切ります. ユーザ変数の変数名の後には,: はつけません.
TENKI 晴
その後,改行して,hnf そのものを記載します. なお,すでにその日の hnf が存在する場合,ユーザ変数は, 書き直されません.ユーザ変数の内容を変更したい場合は, GET で hnf を取り出して,その後,DEL&ADD で入れ換えしてください.
END
と記入すると,日記の終了です.それ以降は登録されません.

例:
Subject: hnf:ADD
(本文)
PASSWORD: himitsu
TENKI 晴
(必ず1行空白行を入れます)
NEW mail2nikki のテスト
メールによる日記更新のテストです.
END

例:
Subject: hns:ADD PLAN
(本文)
PASSWORD: himitsu
(必ず1行空白行を入れます)
4/8 花まつり
END


ハイパー日記システム Version 2.20


Index