私のラップトップでは、毎週ジョブを実行するcronをセットアップしました。何か報告がありましたらメールでお知らせします。現在、KMailをMUAとして使用しています。これは、~/.local/share/local-mail
のMaildirディレクトリからメールを読み取ることができます。したがって、ローカルメールを(Maildir構造を使用して)そのフォルダーに配信する必要があります。
私は、sendmail
インターフェース(echo "$REPORT" | mail -s "$SUBJECT" "$ME"
が機能するような)を持つ、非常に単純なプログラムがすでに存在することを望んでいました。 eximをインストールしたり、メールをリモートのメールサーバーに転送したりすることは、やり過ぎと見なされます。
質問 サーバーからすべてのメールを転送する最も簡単な方法は? は、自分のニーズに合わないリモート転送をターゲットにしているようです(ローカル配信が必要です)。この 古いGentooスレッド は、Perlで古いスクリプトを作成することになりました。確かに、よく考えられた、非常に単純なプログラムが存在している必要がありますか?
何かお勧めですか? Arch Linuxを使用しています。
既存の小さなプログラムが見つからなかったので、自分でプログラムを作成することにしました。もともと、私は思いつきました:
#!/bin/bash
# Simple sendmail
# filename per spec at http://cr.yp.to/proto/maildir.html
Rand=$((RANDOM % 1000))
msgname=$(date +%s).P$$R$Rand.$(hostname | tr '/:' '\057\072')
# Safety measure: do not overwrite existing mail
set -o noclobber
cat > ~peter/".local/share/local-mail/inbox/new/$msgname"
これはうまくいきました。ただし、スクリプトを実行しているユーザーが「ピーター」でない場合を除きます。このアイデアの後継は、「小さな」Cプログラム femtomail です。 READMEから:
femtomail-Maildirをサポートする最小限のMDA
femtomailは、ローカルメール用の最小限のメール配信エージェント(MDA)です。メールは標準入力から受け入れられ、ユーザーのMaildirボックスに配置されます。このソフトウェアは、シングルユーザーマシンでの使用を目的としています。
リモート配信、デーモン化、送信者検証などは実装されておらず、その複雑さのために実装されません。メールソフトウェアが存在しないため、femtomailは記述されていませんが、既存のソフトウェアが ローカルユーザーにcronメールを配信する の単純なタスクには大きすぎるためです。
フェムトメールのワークフロー:
- プロセスのユーザーとグループを変更します。
- 一意のファイル名 で新しいファイルをメールディレクトリに作成します。
Received
ヘッダーをファイルに書き込みます。- 標準入力からファイルにデータを渡します。
- 出口。
ソースコードとインストール手順は https://git.lekensteyn.nl/femtomail/ で入手できます。