.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "CHECK_EMAIL_DELIVERY 7" .TH CHECK_EMAIL_DELIVERY 7 "2020-04-11" "perl v5.30.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" check_email_delivery \- sends email and verifies delivery .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 3 \& check_email_delivery \-vV \& check_email_delivery \-\-usage \& check_email_delivery \-\-help .Ve .SH "OPTIONS" .IX Header "OPTIONS" .IP "\-\-warning [,,]" 4 .IX Item "--warning [,,]" Exit with \s-1WARNING\s0 if the most recent email found is older than . The optional and parameters will be passed on to the included plugins that are used for those tasks. If they are not given then they will not be passed on and the default for that plugin will apply. Also known as: \-w [,[,]] .Sp When using the \-\-plugin option, only one parameter is supported (\-w ) and it will apply to the entire process. You can specify a warning threshold specific to each plugin in the plugin command line. .Sp When using the \-\-plugin option, no measuring of \*(L"most recent email\*(R" is done because we would not know how to read this information from receive plugins. This may be addressed in future versions. .IP "\-\-critical [,,]" 4 .IX Item "--critical [,,]" Exit with \s-1CRITICAL\s0 if the most recent email found is older than . The optional and parameters will be passed on to the included plugins that are used for those tasks. If they are not given then they will not be passed on and the default for that plugin will apply. Also known as: \-c [,[,]] .Sp When using the \-\-plugin option, only one parameter is supported (\-c ) and it will apply to the entire process. You can specify a critical threshold specific to each plugin in the plugin command line. .Sp When using the \-\-plugin option, no measuring of \*(L"most recent email\*(R" is done because we would not know how to read this information from receive plugins. This may be addressed in future versions. .IP "\-\-timeout " 4 .IX Item "--timeout " .PD 0 .IP "\-\-timeout ," 4 .IX Item "--timeout ," .IP "\-\-timeout ,,..." 4 .IX Item "--timeout ,,..." .PD Exit with \s-1CRITICAL\s0 if the plugins do not return a status within the specified number of seconds. When only one parameter is used, it applies to each plugin. When multiple parameters are used (separated by commas) they apply to plugins in the same order the plugins were specified on the command line. When using \-\-timeout but not the \-\-plugin option, the first parameter is for check_smtp_send and the second is for check_imap_receive. .IP "\-\-alert " 4 .IX Item "--alert " Exit with \s-1WARNING\s0 or \s-1CRITICAL\s0 only if a warning or error (\-\-warning, \-\-critical, or \-\-timeout) occurs for specified plugins. If a warning or error occurs for non-specified plugins that run \&\s-1BEFORE\s0 the specified plugins, the exit status will be \s-1UNKNOWN.\s0 If a warning of error occurs for non-specified plugins that run \s-1AFTER\s0 the specified plugins, the exit status will not be affected. .Sp You would use this option if you are using check_email_delivery with the \-\-plugin option and the plugins you configure each use different servers, for example different \s-1SMTP\s0 and \s-1IMAP\s0 servers. By default, if you do not use the \-\-alert option, if anything goes wrong during the email delivery check, a \s-1WARNING\s0 or \s-1CRITICAL\s0 alert will be issued. This means that if you define check_email_delivery for the \s-1SMTP\s0 server only and the \s-1IMAP\s0 server fails, Nagios will alert you for the \s-1SMTP\s0 server which would be misleading. If you define it for both the \s-1SMTP\s0 server and \s-1IMAP\s0 server and just one of them fails, Nagios will alert you for both servers, which would still be misleading. If you have this situation, you may want to use the \-\-alert option. You define the check_email_delivery check for both servers: for the \s-1SMTP\s0 server (first plugin) you use \-\-alert 1, and for for the \s-1IMAP\s0 server (second plugin) you use \-\-alert 2. When check_email_delivery runs with \-\-alert 1 and the \s-1SMTP\s0 server fails, you will get the appropriate alert. If the \s-1IMAP\s0 server fails it will not affect the status. When check_email_delivery runs with \-\-alert 2 and the \s-1SMTP\s0 server fails, you will get the \&\s-1UNKNOWN\s0 return code. If the \s-1IMAP\s0 server generates an alert you will get a \s-1WARNING\s0 or \s-1CRITICAL\s0 as appropriate. .Sp You can repeat this option to specify multiple plugins that should cause an alert. Do this if you have multiple plugins on the command line but some of them involve the same server. .Sp See also: \-\-plugin. Also known as: \-A .IP "\-\-wait [,,...]" 4 .IX Item "--wait [,,...]" How long to wait between sending the message and checking that it was received. View default with the \-vV option. .Sp When using the \-\-plugin option, you can specify as many wait-between times as you have plugins (minus the last plugin, because it makes no sense to wait after running the last one). For example, if you use the \-\-plugin option twice to specify an \s-1SMTP\s0 plugin and an \s-1IMAP\s0 plugin, and you want to wait 5 seconds between sending and receiving, then you would specify \-\-wait 5. A second example, if you are using the \-\-plugin option three times, then specifying \-w 5 will wait 5 seconds between the second and third plugins also. You can specify a different wait time of 10 seconds between the second and third plugins, like this: \-w 5,10. .IP "\-\-hostname " 4 .IX Item "--hostname " Address or name of the \s-1SMTP\s0 and \s-1IMAP\s0 server. Examples: mail.server.com, localhost, 192.168.1.100. Also known as: \-H .IP "\-\-smtp\-server " 4 .IX Item "--smtp-server " Address or name of the \s-1SMTP\s0 server. Examples: smtp.server.com, localhost, 192.168.1.100. Using this option overrides the hostname option. .IP "\-\-smtp\-port " 4 .IX Item "--smtp-port " Service port on the \s-1SMTP\s0 server. Default is 25. .IP "\-\-smtp\-username " 4 .IX Item "--smtp-username " .PD 0 .IP "\-\-smtp\-password " 4 .IX Item "--smtp-password " .PD Username and password to use when connecting to the \s-1SMTP\s0 server with the \s-1TLS\s0 option. Use these options if the \s-1SMTP\s0 account has a different username/password than the \&\s-1IMAP\s0 account you are testing. These options take precendence over the \-\-username and the \-\-password options. .Sp These are shell-escaped; special characters are ok. .IP "\-\-imap\-server " 4 .IX Item "--imap-server " Address or name of the \s-1IMAP\s0 server. Examples: imap.server.com, localhost, 192.168.1.100. Using this option overrides the hostname option. .IP "\-\-imap\-port " 4 .IX Item "--imap-port " Service port on the \s-1IMAP\s0 server. Default is 143. If you use \s-1SSL\s0 the default is 993. .IP "\-\-imap\-username " 4 .IX Item "--imap-username " .PD 0 .IP "\-\-imap\-password " 4 .IX Item "--imap-password " .PD Username and password to use when connecting to the \s-1IMAP\s0 server. Use these options if the \s-1IMAP\s0 account has a different username/password than the \&\s-1SMTP\s0 account you are testing. These options take precendence over the \-\-username and the \-\-password options. .Sp These are shell-escaped; special characters are ok. .IP "\-\-username " 4 .IX Item "--username " .PD 0 .IP "\-\-password " 4 .IX Item "--password " .PD Username and password to use when connecting to \s-1IMAP\s0 server. Also known as: \-U \-P .Sp Also used as the username and password for \s-1SMTP\s0 when the \s-1TLS\s0 option is enabled. To specify a separate set of credentials for \s-1SMTP\s0 authentication, see the options \-\-smtp\-username and \-\-smtp\-password. .IP "\-\-imap\-check\-interval " 4 .IX Item "--imap-check-interval " How long to wait between polls of the imap-server for the specified mail. Default is 5 seconds. .IP "\-\-imap\-retries " 4 .IX Item "--imap-retries " How many times to poll the imap-server for the mail, before we give up. Default is 10. .IP "\-\-body " 4 .IX Item "--body " Use this option to specify the body of the email message. .IP "\-\-header
" 4 .IX Item "--header
" Use this option to set an arbitrary header in the message. You can use it multiple times. .IP "\-\-mailto recipient@your.net" 4 .IX Item "--mailto recipient@your.net" You can send a message to multiple recipients by repeating this option or by separating the email addresses with commas (no whitespace allowed): .Sp $ check_email_delivery ... \-\-mailto recipient@your.net,recipient2@your.net \-\-mailfrom sender@your.net .Sp This argument is shell-escaped; special characters or angle brackets around the address are ok. .IP "\-\-mailfrom sender@your.net" 4 .IX Item "--mailfrom sender@your.net" Use this option to set the \*(L"from\*(R" address in the email. .IP "\-\-imapssl =item \-\-noimapssl" 4 .IX Item "--imapssl =item --noimapssl" Use this to enable or disable \s-1SSL\s0 for the \s-1IMAP\s0 plugin. .Sp This argument is shell-escaped; special characters or angle brackets around the address are ok. .IP "\-\-smtptls =item \-\-nosmtptls" 4 .IX Item "--smtptls =item --nosmtptls" Use this to enable or disable \s-1TLS/AUTH\s0 for the \s-1SMTP\s0 plugin. .IP "\-\-libexec" 4 .IX Item "--libexec" Use this option to set the path of the Nagios libexec directory. The default is /usr/local/nagios/libexec. This is where this plugin looks for the \s-1SMTP\s0 and \s-1IMAP\s0 plugins that it depends on. .IP "\-\-plugin " 4 .IX Item "--plugin " This is a new option introduced in version 0.5 of the check_email_delivery plugin. It frees the plugin from depending on specific external plugins and generalizes the work done to determine that the email loop is operational. When using the \-\-plugin option, the following options are ignored: libexec, imapssl, smtptls, hostname, username, password, smtp*, imap*, mailto, mailfrom, body, header, search. .Sp Use this option multiple times to specify the complete trip. Typically, you would use this twice to specify plugins for \s-1SMTP\s0 and \s-1IMAP,\s0 or \s-1SMTP\s0 and \s-1POP3.\s0 .Sp The output will be success if all the plugins return success. Each plugin should be a standard Nagios plugin. .Sp A random token will be automatically generated and passed to each plugin specified on the command line by substituting the string \f(CW%TOKEN1\fR%. .Sp Example usage: .Sp .Vb 4 \& command_name check_email_delivery \& command_line check_email_delivery \& \-\-plugin "$USER1$/check_smtp_send \-H $ARG1$ \-\-mailto recipient@your.net \-\-mailfrom sender@your.net \-\-header \*(AqSubject: Nagios Test %TOKEN1%.\*(Aq" \& \-\-plugin "$USER1$/check_imap_receive \-H $ARG1$ \-U $ARG1$ \-P $ARG2$ \-s SUBJECT \-s \*(AqNagios Test %TOKEN1%.\*(Aq" .Ve .Sp This technique allows for a lot of flexibility in configuring the plugins that test each part of your email delivery loop. .Sp See also: \-\-token. Also known as: \-p .IP "\-\-token " 4 .IX Item "--token " This is a new option introduced in version 0.5 of the check_email_delivery plugin. It can be used in conjunction with \-\-plugin to control the tokens that are generated and passed to the plugins, like \f(CW%TOKEN1\fR%. .Sp Use this option multiple times to specify formats for different tokens. For example, if you want \f(CW%TOKEN1\fR% to consist of only alphabetical characters but want \f(CW%TOKEN2\fR% to consist of only digits, then you might use these options: \-\-token aaaaaa \-\-token nnnnn .Sp Any tokens used in your plugin commands that have not been specified by \-\-token will default to \-\-token U\-X-Y .Sp Token formats: a \- alpha character (a\-z) n \- numeric character (0\-9) c \- alphanumeric character (a\-z0\-9) h \- hexadecimal character (0\-9a\-f) U \- unix time, seconds from epoch. eg 1193012441 X \- a word from the pgp even list. eg aardvark Y \- a word from the pgp odd list. eg adroitness .Sp Caution: It has been observed that some \s-1IMAP\s0 servers do not handle underscores well in the search criteria. For best results, avoid using underscores in your tokens. Use hyphens or commas instead. .Sp See also: \-\-plugin. Also known as: \-T .Sp The \s-1PGP\s0 word list was obtained from http://en.wikipedia.org/wiki/PGP_word_list .IP "\-\-file " 4 .IX Item "--file " Save (append) status information into the given tab-delimited file. Format used: .Sp .Vb 1 \& token start\-time end\-time status plugin\-num output .Ve .Sp Note: format may change in future versions and may become configurable. .Sp This option available as of version 0.6.2. .Sp Also known as: \-F .IP "\-\-hires" 4 .IX Item "--hires" Use the Time::HiRes module to measure time, if available. .IP "\-\-verbose" 4 .IX Item "--verbose" Display additional information. Useful for troubleshooting. Use together with \-\-version to see the default warning and critical timeout values. Also known as: \-v .IP "\-\-version" 4 .IX Item "--version" Display plugin version and exit. Also known as: \-V .IP "\-\-help" 4 .IX Item "--help" Display this documentation and exit. Does not work in the ePN version. Also known as: \-h .IP "\-\-usage" 4 .IX Item "--usage" Display a short usage instruction and exit. .SH "EXAMPLES" .IX Header "EXAMPLES" .SS "Send a message with custom headers" .IX Subsection "Send a message with custom headers" $ check_email_delivery \-H mail.server.net \-\-mailto recipient@your.net \-\-mailfrom sender@your.net \&\-\-username recipient \-\-password secret .PP \&\s-1EMAIL DELIVERY OK\s0 \- 1 seconds .SS "Set warning and critical timeouts for receive plugin only:" .IX Subsection "Set warning and critical timeouts for receive plugin only:" $ check_email_delivery \-H mail.server.net \-\-mailto recipient@your.net \-\-mailfrom sender@your.net \&\-\-username recipient \-\-password secret \-w ,,5 \-c ,,15 .PP \&\s-1EMAIL DELIVERY OK\s0 \- 1 seconds .SH "EXIT CODES" .IX Header "EXIT CODES" Complies with the Nagios plug-in specification: 0 \s-1OK\s0 The plugin was able to check the service and it appeared to be functioning properly 1 Warning The plugin was able to check the service, but it appeared to be above some \*(L"warning\*(R" threshold or did not appear to be working properly 2 Critical The plugin detected that either the service was not running or it was above some \*(L"critical\*(R" threshold 3 Unknown Invalid command line arguments were supplied to the plugin or the plugin was unable to check the status of the given hosts/service .SH "NAGIOS PLUGIN NOTES" .IX Header "NAGIOS PLUGIN NOTES" Nagios plugin reference: http://nagiosplug.sourceforge.net/developer\-guidelines.html .PP This plugin does \s-1NOT\s0 use Nagios \s-1DEFAULT_SOCKET_TIMEOUT\s0 (provided by utils.pm as \f(CW$TIMEOUT\fR) because the path to utils.pm must be specified completely in this program and forces users to edit the source code if their install location is different (if they realize this is the problem). You can view the default timeout for this module by using the \-\-verbose and \-\-version options together. The short form is \-vV. .PP Other than that, it attempts to follow published guidelines for Nagios plugins. .SH "CHANGES" .IX Header "CHANGES" .Vb 2 \& Wed Oct 29 13:08:00 PST 2005 \& + version 0.1 \& \& Wed Nov 9 17:16:09 PST 2005 \& + updated arguments to check_smtp_send and check_imap_receive \& + added eval/alarm block to implement \-c option \& + added wait option to adjust sleep time between smtp and imap calls \& + added delay\-warn and delay\-crit options to adjust email delivery warning thresholds \& + now using an inline PluginReport package to generate the report \& + copyright notice and GNU GPL \& + version 0.2 \& \& Thu Apr 20 14:00:00 CET 2006 (by Johan Nilsson ) \& + version 0.2.1 \& + corrected bug in getoptions ($imap_server would never ever be set from command\-line...) \& + will not make $smtp_server and $imap_server == $host if they\*(Aqre defined on commandline \& + added support for multiple polls of imap\-server, with specified intervals \& + changed default behaviour in check_imap_server (searches for the specific id in subject and deletes mails found) \& + increased default delay_warn from 65 seconds to 95 seconds \& \& Thu Apr 20 16:00:00 PST 2006 (by Geoff Crompton ) \& + fixed a bug in getoptions \& + version 0.2.2 \& \& Tue Apr 24 21:17:53 PDT 2007 \& + now there is an alternate version (same but without embedded perl POD) that is compatible with the new new embedded\-perl Nagios feature \& + version 0.2.3 \& \& Fri Apr 27 20:32:53 PDT 2007 \& + documentation now mentions every command\-line option accepted by the plugin, including abbreviations \& + changed connection error to display timeout only if timeout was the error \& + default IMAP plugin is libexec/check_imap_receive (also checking for same but with .pl extension) \& + default SMTP plugin is libexec/check_smtp_send (also checking for same but with .pl extension) \& + removed default values for SMTP port and IMAP port to allow those plugins to set the defaults; so current behavior stays the same and will continue to make sense with SSL \& + version 0.3 \& \& Thu Oct 11 10:00:00 EET 2007 (by Timo Virtaneva \& + Changed the header and the search criteria so that the same email\-box can be used for all smtp\-servers \& + version 0.3.1 \& \& Sun Oct 21 11:01:03 PDT 2007 \& + added support for TLS options to the SMTP plugin \& + version 0.4 \& \& Sun Oct 21 16:17:14 PDT 2007 \& + added support for arbitrary plugins to send and receive mail (or anthing else!). see the \-\-plugin option. \& + version 0.5 \& \& Tue Dec 4 07:36:20 PST 2007 \& + added \-\-usage option because the official nagios plugins have both \-\-help and \-\-usage \& + added \-\-timeout option to match the official nagios plugins \& + shortcut option for \-\-token is now \-T to avoid clash with standard shortcut \-t for \-\-timeout \& + fixed some minor pod formatting issues for perldoc \& + version 0.5.1 \& \& Sat Dec 15 07:39:59 PST 2007 \& + improved compatibility with Nagios embedded perl (ePN) \& + version 0.5.2 \& \& Thu Jan 17 20:27:36 PST 2008 (by Timo Virtaneva on Thu Oct 11 10:00:00 EET 2007) \& + Changed the header and the search criteria so that the same email\-box can be used for all smtp\-servers \& + version 0.5.3 \& \& Mon Jan 28 22:11:02 PST 2008 \& + fixed a bug, smtp\-password and imap\-password are now string parameters \& + added \-\-alert option to allow selection of which plugin(s) should cause a WARNING or CRITICAL alert \& + version 0.6 \& \& Mon Feb 11 19:09:37 PST 2008 \& + fixed a bug for embedded perl version, variable "%status" will not stay shared in load_modules \& + version 0.6.1 \& \& Mon May 26 10:39:19 PDT 2008 \& + added \-\-file option to allow plugin to record status information into a tab\-delimited file \& + changed default token from U_X_Y to U\-X\-Y \& + version 0.6.2 \& \& Wed Jan 14 08:29:35 PST 2009 \& + fixed a bug that the \-\-header parameter was not being passed to the smtp plugin. \& + version 0.6.3 \& \& Mon Jun 8 15:43:48 PDT 2009 \& + added performance data for use with PNP4Nagios! (thanks to Ben Ritcey for the patch) \& + version 0.6.4 \& \& Wed Sep 16 07:10:10 PDT 2009 \& + added elapsed time in seconds to performance data \& + version 0.6.5 \& \& Fri Oct 8 19:48:44 PDT 2010 \& + fixed uniform IMAP and SMTP username and password bug (thanks to Micle Moerenhout for pointing it out) \& + version 0.6.6 \& \& Mon Jan 3 08:24:23 PST 2011 \& + added shell escaping for smtp\-username, smtp\-password, mailto, mailfrom, imap\-username, and imap\-password arguments \& + version 0.7.0 \& \& Fri May 6 08:35:09 AST 2011 \& + added \-\-hires option to enable use of Time::Hires if available \& + version 0.7.1 \& \& Sun Jun 12 17:17:06 AST 2011 \& + added \-\-imap\-mailbox option to pass through to check_imap_receive \-\-mailbox option \& + added \-\-ssl option to conveniently enable both \-\-smtp\-tls and \-\-imap\-ssl \& + version 0.7.2 .Ve .SH "AUTHOR" .IX Header "AUTHOR" Jonathan Buhacoff .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" .Vb 1 \& Copyright (C) 2005\-2011 Jonathan Buhacoff \& \& This program is free software; you can redistribute it and/or modify \& it under the terms of the GNU General Public License as published by \& the Free Software Foundation; either version 3 of the License, or \& (at your option) any later version. \& \& This program is distributed in the hope that it will be useful, \& but WITHOUT ANY WARRANTY; without even the implied warranty of \& MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the \& GNU General Public License for more details. \& \& You should have received a copy of the GNU General Public License \& along with this program. If not, see . \& \& http://www.gnu.org/licenses/gpl.txt .Ve