cron デフォルトの sendmail をメールに変更

cron デフォルトの sendmail をメールに変更

私はFreeBSD 11.0-RELEASEを実行しています。

デフォルトでは、cronはユーザーの電子メールを送信するために使用されます/usr/lib/sendmail。代わりにcronを使用するように指示/設定できますか/bin/mail

FreeBSDはPaul Vixieのcronバージョンを使用しているため、この-mオプションは使用されるメールプログラムではなくEメール受信者を設定します。

# make configFreeBSDソースコードをダウンロードして/usr/src/usr.sbin/cron/ofcでコマンドを試しましたが、設定が定義されていないため動作しません。しかし、今後のアップデートはこれを簡単に無視できるので、これは悪い考えだと思います。

ご協力ありがとうございます!

答え1

cronデフォルトでは、このコマンドはシステム全体のマクロ値を_PATH_SENDMAIL拡張子として使用して、ジョブによって生成されたメッセージを送信するために使用されますMAILCMD。他のメーラーを使用するには、Makefileを変更してMAILCMDマクロにMAILARGS適切な値を定義する必要があります。ソースツリーのMakefileには、可能な値を記述するコメント定義が含まれていますが、MAILARGS次のように定義されたときに適用されるマクロに小さなバグがあるようです。 2つの文字列拡張子がありますが、呼び出し時に1つの文字列のみを受け取るので、パッチではデフォルトで、最初の拡張子を削除しました。MAILCMD/bin/mail

ユーティリティがインストールされている場合patch(そうでない場合はポートにあります)、適用します。今回のパッチ(相対的/usr/src/usr.sbin/cron)とcronのビルド/インストール:

% cd /usr/src/usr.sbin/cron
% make 
% make install

cronを再起動するとすぐに使用できます/bin/mail。このパッチバージョンは私のシステム(11-STABLE)で完全にビルドされていますが、デフォルトバージョンの代わりに試してみませんでした。 FreeBSDでは/usr/lib/sendmail

答え2

使用される実際のパスはに定義されていますcron。これは通常シンボリックリンクです。/usr/sbin/sendmail/usr/include/paths.hメール包装紙(8)

すべてのアプリケーションのデフォルトの動作を変更して変更できます/etc/mail/mailer.conf。バラよりメーラー.conf(5)もっと学ぶ。

もちろん、/bin/mail同様のセマンティクスが必要であり、システム全体の基本的な動作sendmail変更に適応できる必要があります。sendmail

関連情報