freebsd-dev/cmd/zed/zed.d
Chris Dunlap 69520d6855 Rework zed_notify_email for configurable PROG/OPTS
This commit reworks the zed_notify_email() function to allow
configuration of the mail executable and command-line arguments.

ZED_EMAIL_PROG specifies the name or path of the executable responsible
for sending notifications via email.  This variable defaults to "mail".

ZED_EMAIL_OPTS specifies command-line options passed to ZED_EMAIL_PROG.
The following keyword substitutions are performed:
- @ADDRESS@ is replaced with the recipient email address(es)
- @SUBJECT@ is replaced with the notification subject
This variable defaults to "-s '@SUBJECT@' @ADDRESS@".

ZED_EMAIL_ADDR replaces ZED_EMAIL (although the latter is retained
for backward compatibility).  This variable can contain multiple
addresses as long as they are delimited by whitespace.

Signed-off-by: Chris Dunlap <cdunlap@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #3634
Closes #3631
2015-07-30 11:52:56 -07:00
..
all-debug.sh Cleanup ZEDLETs 2015-04-27 12:08:01 -07:00
all-syslog.sh Cleanup ZEDLETs 2015-04-27 12:08:01 -07:00
checksum-notify.sh Replace "email" ZEDLETs with "notify" ZEDLETs 2015-04-27 12:08:07 -07:00
checksum-spare.sh
data-notify.sh Combine data-notify.sh with io-notify.sh 2015-04-27 12:08:08 -07:00
generic-notify.sh Replace "email" ZEDLETs with "notify" ZEDLETs 2015-04-27 12:08:07 -07:00
io-notify.sh Combine data-notify.sh with io-notify.sh 2015-04-27 12:08:08 -07:00
io-spare.sh Add notification to io-spare.sh 2015-04-27 12:08:08 -07:00
README Cleanup ZEDLETs 2015-04-27 12:08:01 -07:00
resilver.finish-notify.sh Replace "email" ZEDLETs with "notify" ZEDLETs 2015-04-27 12:08:07 -07:00
scrub.finish-notify.sh Replace "email" ZEDLETs with "notify" ZEDLETs 2015-04-27 12:08:07 -07:00
zed-functions.sh Rework zed_notify_email for configurable PROG/OPTS 2015-07-30 11:52:56 -07:00
zed.rc Rework zed_notify_email for configurable PROG/OPTS 2015-07-30 11:52:56 -07:00

Shell scripts are the recommended choice for ZEDLETs that mostly call
other utilities and do relatively little data manipulation.

Shell scripts MUST work on both bash and dash.

Shell scripts MUST run cleanly through ShellCheck:
  http://www.shellcheck.net/

General functions reside in "zed-functions.sh".  Use them where applicable.

Additional references that may be of use:

  Google Shell Style Guide
  https://google-styleguide.googlecode.com/svn/trunk/shell.xml

  Dash as /bin/sh
  https://wiki.ubuntu.com/DashAsBinSh

  Common shell script mistakes
  http://www.pixelbeat.org/programming/shell_script_mistakes.html

  Filenames and Pathnames in Shell: How to do it Correctly
  http://www.dwheeler.com/essays/filenames-in-shell.html

  Autoconf: Portable Shell Programming
  https://www.gnu.org/software/autoconf/manual/autoconf.html#Portable-Shell

Please BE CONSISTENT with the existing style, check for errors,
minimize dependencies where possible, try to be portable,
and comment anything non-obvious.  Festina lente.