git.lirion.de

Of git, get, and gud

summaryrefslogtreecommitdiffstats
path: root/nagios-plugins-contrib-24.20190301~bpo9+1/check_email_delivery/check_email_delivery-0.7.1b/docs/check_imap_receive.html
diff options
context:
space:
mode:
Diffstat (limited to 'nagios-plugins-contrib-24.20190301~bpo9+1/check_email_delivery/check_email_delivery-0.7.1b/docs/check_imap_receive.html')
-rw-r--r--nagios-plugins-contrib-24.20190301~bpo9+1/check_email_delivery/check_email_delivery-0.7.1b/docs/check_imap_receive.html551
1 files changed, 551 insertions, 0 deletions
diff --git a/nagios-plugins-contrib-24.20190301~bpo9+1/check_email_delivery/check_email_delivery-0.7.1b/docs/check_imap_receive.html b/nagios-plugins-contrib-24.20190301~bpo9+1/check_email_delivery/check_email_delivery-0.7.1b/docs/check_imap_receive.html
new file mode 100644
index 0000000..fee7c08
--- /dev/null
+++ b/nagios-plugins-contrib-24.20190301~bpo9+1/check_email_delivery/check_email_delivery-0.7.1b/docs/check_imap_receive.html
@@ -0,0 +1,551 @@
+<?xml version="1.0" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>check_imap_receive - connects to and searches an IMAP account for messages</title>
+<link rel="stylesheet" href="plainwhite.css" type="text/css" />
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<link rev="made" href="mailto:jonathan@greek.local" />
+</head>
+
+<body>
+
+
+<!-- INDEX BEGIN -->
+<div name="index">
+<p><a name="__index__"></a></p>
+<!--
+
+<ul>
+
+ <li><a href="#name">NAME</a></li>
+ <li><a href="#synopsis">SYNOPSIS</a></li>
+ <li><a href="#options">OPTIONS</a></li>
+ <li><a href="#examples">EXAMPLES</a></li>
+ <ul>
+
+ <li><a href="#report_how_many_emails_are_in_the_mailbox">Report how many emails are in the mailbox</a></li>
+ <li><a href="#report_the_email_with_the_highest_value">Report the email with the highest value</a></li>
+ <li><a href="#troubleshoot_your_search_parameters">Troubleshoot your search parameters</a></li>
+ </ul>
+
+ <li><a href="#exit_codes">EXIT CODES</a></li>
+ <li><a href="#nagios_plugin_notes">NAGIOS PLUGIN NOTES</a></li>
+ <li><a href="#see_also">SEE ALSO</a></li>
+ <li><a href="#changes">CHANGES</a></li>
+ <li><a href="#author">AUTHOR</a></li>
+ <li><a href="#copyright_and_license">COPYRIGHT AND LICENSE</a></li>
+</ul>
+
+-->
+
+
+</div>
+<!-- INDEX END -->
+
+<p>
+</p>
+<hr />
+<h1><a name="name">NAME</a></h1>
+<p>check_imap_receive - connects to and searches an IMAP account for messages</p>
+<p>
+</p>
+<hr />
+<h1><a name="synopsis">SYNOPSIS</a></h1>
+<pre>
+ check_imap_receive -vV
+ check_imap_receive -?
+ check_imap_receive --help</pre>
+<p>
+</p>
+<hr />
+<h1><a name="options">OPTIONS</a></h1>
+<dl>
+<dt><strong><a name="warning_seconds" class="item">--warning &lt;seconds&gt;</a></strong></dt>
+
+<dd>
+<p>Warn if it takes longer than &lt;seconds&gt; to connect to the IMAP server. Default is 15 seconds.
+Also known as: -w &lt;seconds&gt;</p>
+</dd>
+<dt><strong><a name="critical_seconds" class="item">--critical &lt;seconds&gt;</a></strong></dt>
+
+<dd>
+<p>Return a critical status if it takes longer than &lt;seconds&gt; to connect to the IMAP server. Default is 30 seconds.
+See also: --capture-critical &lt;messages&gt;
+Also known as: -c &lt;seconds&gt;</p>
+</dd>
+<dt><strong><a name="timeout_seconds" class="item">--timeout &lt;seconds&gt;</a></strong></dt>
+
+<dd>
+<p>Abort with critical status if it takes longer than &lt;seconds&gt; to connect to the IMAP server. Default is 60 seconds.
+The difference between timeout and critical is that, with the default settings, if it takes 45 seconds to
+connect to the server then the connection will succeed but the plugin will return CRITICAL because it took longer
+than 30 seconds.
+Also known as: -t &lt;seconds&gt;</p>
+</dd>
+<dt><strong><a name="imap_check_interval_seconds" class="item">--imap-check-interval &lt;seconds&gt;</a></strong></dt>
+
+<dd>
+<p>How long to wait after searching for a matching message before searching again. Only takes effect
+if no messages were found. Default is 5 seconds.</p>
+</dd>
+<dt><strong><a name="imap_retries_number" class="item">--imap-retries &lt;number&gt;</a></strong></dt>
+
+<dd>
+<p>How many times to try searching for a matching message before giving up. If you set this to 0 then
+messages will not be searched at all. Setting this to 1 means the plugin only tries once. Etc.
+Default is 10 times.</p>
+</dd>
+<dt><strong><a name="hostname_server" class="item">--hostname &lt;server&gt;</a></strong></dt>
+
+<dd>
+<p>Address or name of the IMAP server. Examples: mail.server.com, localhost, 192.168.1.100
+Also known as: -H &lt;server&gt;</p>
+</dd>
+<dt><strong><a name="port_number" class="item">--port &lt;number&gt;</a></strong></dt>
+
+<dd>
+<p>Service port on the IMAP server. Default is 143. If you use SSL, default is 993.
+Also known as: -p &lt;number&gt;</p>
+</dd>
+<dt><strong><a name="username_username" class="item">--username &lt;username&gt;</a></strong></dt>
+
+<dt><strong><a name="password_password" class="item">--password &lt;password&gt;</a></strong></dt>
+
+<dd>
+<p>Username and password to use when connecting to IMAP server.
+Also known as: -U &lt;username&gt; -P &lt;password&gt;</p>
+</dd>
+<dt><strong><a name="mailbox_mailbox" class="item">--mailbox &lt;mailbox&gt;</a></strong></dt>
+
+<dd>
+<p>Use this option to specify the mailbox to search for messages. Default is INBOX.
+Also known as: -m &lt;mailbox&gt;</p>
+</dd>
+<dt><strong><a name="search_string" class="item">--search &lt;string&gt;</a></strong></dt>
+
+<dd>
+<p>Use this option to filter the messages. Default is not to filter. You may (must) use this option
+multiple times in order to create any valid IMAP search criteria. See the examples and see also
+<a href="http://www.ietf.org/rfc/rfc2060.txt">http://www.ietf.org/rfc/rfc2060.txt</a> (look for section 6.4.4, the SEARCH command)</p>
+<p>This is the way to find messages matching a given subject:
+ -s SUBJECT -s &quot;a given subject&quot;</p>
+<p>You can use the following technique for any header, including Subject. To find &quot;Header-Name: some value&quot;:
+ -s HEADER -s Header-Name -s &quot;some value&quot;</p>
+<p>Modern IMAP servers that support rfc5032 extensions allow you to search for messages
+older or younger than a number of seconds. So to find messages received in the past hour,
+you can do:</p>
+<pre>
+ -s YOUNGER -s 3600</pre>
+<p>Or to find messages received more than 5 minutes ago, you can do:</p>
+<pre>
+ -s OLDER -s 300</pre>
+<p>Also known as: -s &lt;string&gt;</p>
+</dd>
+<dt><strong><a name="download" class="item">--download</a></strong></dt>
+
+<dt><strong><a name="nodownload" class="item">--nodownload</a></strong></dt>
+
+<dd>
+<p>This option causes all messages in the specified mailbox to be downloaded from the server
+and searched locally. See --download-max if you only want to download a few messages.
+Currently only the following <a href="http://www.ietf.org/rfc/rfc2060.txt" class="rfc">RFC 2060</a> search criteria are supported:
+TEXT, BODY, SUBJECT, HEADER, NOT, OR, SENTBEFORE, SENTON, SENTSINCE.</p>
+<p>Requires Email::Simple to be installed. It is available on CPAN.</p>
+<p>This option may be particularly useful to you if your mail server is slow to index
+messages (like Exchange 2003), causing the plugin not to find them with IMAP SEARCH
+even though they are in the inbox.</p>
+<p>It's also useful if you're searching for messages that have been on the server for a
+specified amount of time, like some minutes or hours, because the standard IMAP search
+function only allows whole dates. For this, use the standard search keywords but you
+can specify either just a date like in <a href="http://www.ietf.org/rfc/rfc2060.txt" class="rfc">RFC 2060</a> or a date and a time.</p>
+<p>If you use SENTBEFORE, SENTON, or SENTSINCE, you must have Date::Manip installed
+on your system.</p>
+</dd>
+<dt><strong><a name="download_max" class="item">--download-max</a></strong></dt>
+
+<dd>
+<p>Limits the number of messages downloaded from the server when the --download option is used.
+Default is to download and search all messages.</p>
+</dd>
+<dt><strong><a name="search_critical_min_messages" class="item">--search-critical-min &lt;messages&gt;</a></strong></dt>
+
+<dd>
+<p>This option will trigger a CRITICAL status if the number of messages found by the search criteria
+is below the given number. Use in conjunction with --search.</p>
+<p>This parameter defaults to 1 so that if no messages are found, the plugin will exit with a CRITICAL status.</p>
+<p>If you want the original behavior where the plugin exits with a WARNING status when no messages are found,
+set this parameter to 0.</p>
+</dd>
+<dt><strong><a name="search_critical_max_messages" class="item">--search-critical-max &lt;messages&gt;</a></strong></dt>
+
+<dd>
+<p>This option will trigger a CRITICAL status if the number of messages found by the search criteria
+is above the given number. Use in conjunction with --search.</p>
+<p>This parameter defaults to -1 meaning it's disabled. If you set it to 10, the plugin will exit with
+CRITICAL if it finds 11 messages. If you set it to 1, the plugin will exit with CRITICAL if it finds
+any more than 1 message. If you set it to 0, the plugin will exit with CRITICAL if it finds any messages
+at all. If you set it to -1 it will be disabled.</p>
+</dd>
+<dt><strong><a name="search_warning_min_messages" class="item">--search-warning-min &lt;messages&gt;</a></strong></dt>
+
+<dd>
+<p>This option will trigger a WARNING status if the number of messages found by the search criteria
+is below the given number. Use in conjunction with --search.</p>
+<p>This parameter defaults to 1 so that if no messages are found, the plugin will exit with a WARNING status.</p>
+<p>If you want to suppress the original behavior where the plugin exits with a WARNING status when no messages are found,
+set this parameter to 0. When this parameter is 0, it means that you expect the mailbox not to have any messages.</p>
+</dd>
+<dt><strong><a name="search_warning_max_messages" class="item">--search-warning-max &lt;messages&gt;</a></strong></dt>
+
+<dd>
+<p>This option will trigger a WARNING status if the number of messages found by the search criteria
+is above the given number. Use in conjunction with --search.</p>
+<p>This parameter defaults to -1 meaning it's disabled. If you set it to 10, the plugin will exit with
+WARNING if it finds 11 messages. If you set it to 1, the plugin will exit with WARNING if it finds
+any more than 1 message. If you set it to 0, the plugin will exit with WARNING if it finds any messages
+at all. If you set it to -1 it will be disabled.</p>
+</dd>
+<dt><strong><a name="capture_max_regexp" class="item">--capture-max &lt;regexp&gt;</a></strong></dt>
+
+<dd>
+<p>In addition to specifying search arguments to filter the emails in the IMAP account, you can specify
+a &quot;capture-max&quot; regexp argument and the eligible emails (found with search arguments)
+will be compared to each other and the OK line will have the highest captured value.</p>
+<p>The regexp is expected to capture a numeric value.</p>
+</dd>
+<dt><strong><a name="capture_min_regexp" class="item">--capture-min &lt;regexp&gt;</a></strong></dt>
+
+<dd>
+<p>In addition to specifying search arguments to filter the emails in the IMAP account, you can specify
+a &quot;capture-min&quot; regexp argument and the eligible emails (found with search arguments)
+will be compared to each other and the OK line will have the lowest captured value.</p>
+<p>The regexp is expected to capture a numeric value.</p>
+</dd>
+<dt><strong><a name="delete" class="item">--delete</a></strong></dt>
+
+<dt><strong><a name="nodelete" class="item">--nodelete</a></strong></dt>
+
+<dd>
+<p>Use the delete option to delete messages that matched the search criteria. This is useful for
+preventing the mailbox from filling up with automated messages (from the check_smtp_send plugin, for example).
+THE DELETE OPTION IS TURNED *ON* BY DEFAULT, in order to preserve compatibility with an earlier version.</p>
+<p>Use the nodelete option to turn off the delete option.</p>
+</dd>
+<dt><strong><a name="nodelete_captured" class="item">--nodelete-captured</a></strong></dt>
+
+<dd>
+<p>If you use both the capture-max and delete arguments, you can also use the nodelete-captured argument to specify that the email
+with the highest captured value should not be deleted. This leaves it available for comparison the next time this plugin runs.</p>
+<p>If you do not use the delete option, this option has no effect.</p>
+</dd>
+<dt><strong><a name="ssl" class="item">--ssl</a></strong></dt>
+
+<dt><strong><a name="nossl" class="item">--nossl</a></strong></dt>
+
+<dd>
+<p>Enable SSL protocol. Requires IO::Socket::SSL.</p>
+<p>Using this option automatically changes the default port from 143 to 993. You can still
+override this from the command line using the --port option.</p>
+<p>Use the nossl option to turn off the ssl option.</p>
+</dd>
+<dt><strong><a name="ssl_ca_file" class="item">--ssl-ca-file</a></strong></dt>
+
+<dd>
+<p>Use this to verify the server SSL certificate against a local .pem file. You'll need to
+specify the path to the .pem file as the parameter.</p>
+<p>You can use the imap_ssl_cert utility included in this distribution to connect to your IMAP
+server and save its SSL certificates into your .pem file. Usage is like this:</p>
+<pre>
+ imap_ssl_cert -H imap.server.com &gt; ca_file.pem</pre>
+<p>Only applicable when --ssl option is enabled.</p>
+</dd>
+<dt><strong><a name="template" class="item">--template</a></strong></dt>
+
+<dt><strong><a name="notemplate" class="item">--notemplate</a></strong></dt>
+
+<dd>
+<p>Enable (or disable) processing of IMAP search parameters. Requires Text::Template and Date::Manip.</p>
+<p>Use this option to apply special processing to IMAP search parameters that allows you to use the
+results of arbitrary computations as the parameter values. For example, you can use this feature
+to search for message received up to 4 hours ago.</p>
+<p>Modern IMAP servers that support rfc5032 extensions allow searching with the YOUNGER and OLDER
+criteria so a message received up to 4 hours ago is -s YOUNGER -s 14400. But if your mail server
+doesn't support that, you could use the --template option to get similar functionality.</p>
+<p>When you enable the --template option, each parameter you pass to the -s option is parsed by
+Text::Template. See the Text::Template manual for more information, but in general any expression
+written in Perl will work.</p>
+<p>A convenience function called rfc2822dateHeader is provided to you so you can easily compute properly
+formatted dates for use as search parameters. The rfc2822date function can take one or two
+parameters itself: the date to format and an optional offset. To use the current time as a
+search parameter, you can write this:</p>
+<pre>
+ $ check_imap_receive ... --template -s HEADER -s Delivery-Date -s '{rfc2822dateHeader(&quot;now&quot;)}'</pre>
+<p>The output of {rfc2822dateHeader(&quot;now&quot;)} looks like this: Wed, 30 Sep 2009 22:44:03 -0700 and
+is suitable for use with a date header, like HEADER Delivery-Date.</p>
+<p>To use a time in the past relative to the current time or day, you can use a second convenience function
+called rfc2822date and write this:</p>
+<pre>
+ $ check_imap_receive ... --template -s SENTSINCE -s '{rfc2822date(&quot;now&quot;,&quot;-1 day&quot;)}'</pre>
+<p>The output of {rfc2822date(&quot;now&quot;,&quot;-1 day&quot;)} looks like this: 29-Sep-2009 and is suitable for use
+with BEFORE, ON, SENTBEFORE, SENTON, SENTSINCE, and SINCE.</p>
+<p>I have seen some email clients use a different format in the Date field,
+like September 17, 2009 9:46:51 AM PDT. To specify an arbitrary format like this one, write this:</p>
+<pre>
+ $ check_imap_receive ... --template -s HEADER -s Delivery-Date -s '{date(&quot;%B %e, %Y %i:%M:%S %p %Z&quot;,&quot;now&quot;,&quot;-4 hours&quot;)}'</pre>
+<p>You can use BEFORE, ON, SENTBEFORE, SENTON, SENTSINCE, or SINCE to search for messages that arrived
+on, before, or after a given day but not on, before, or after a specific time on that day.</p>
+<p>To search for messages that arrived on, before, or after a specific time you have to use the
+Delivery-Date or another date field, like with -s HEADER -s Delivery-Date in the example above.</p>
+<p>See the Date::Manip manual for more information on the allowed expressions for date and delta strings.</p>
+</dd>
+<dt><strong><a name="hires" class="item">--hires</a></strong></dt>
+
+<dd>
+<p>Use the Time::HiRes module to measure time, if available.</p>
+</dd>
+<dt><strong><a name="verbose" class="item">--verbose</a></strong></dt>
+
+<dd>
+<p>Display additional information. Useful for troubleshooting. Use together with --version to see the default
+warning and critical timeout values.</p>
+<p>If the selected mailbox was not found, you can use verbosity level 3 (-vvv) to display a list of all
+available mailboxes on the server.</p>
+<p>Also known as: -v</p>
+</dd>
+<dt><strong><a name="version" class="item">--version</a></strong></dt>
+
+<dd>
+<p>Display plugin version and exit.
+Also known as: -V</p>
+</dd>
+<dt><strong><a name="help" class="item">--help</a></strong></dt>
+
+<dd>
+<p>Display this documentation and exit. Does not work in the ePN version.
+Also known as: -h</p>
+</dd>
+<dt><strong><a name="usage" class="item">--usage</a></strong></dt>
+
+<dd>
+<p>Display a short usage instruction and exit.</p>
+</dd>
+</dl>
+<p>
+</p>
+<hr />
+<h1><a name="examples">EXAMPLES</a></h1>
+<p>
+</p>
+<h2><a name="report_how_many_emails_are_in_the_mailbox">Report how many emails are in the mailbox</a></h2>
+<pre>
+ $ check_imap_receive -H mail.server.net --username mailuser --password mailpass
+ -s ALL --nodelete</pre>
+<pre>
+ IMAP RECEIVE OK - 1 seconds, 7 found</pre>
+<p>
+</p>
+<h2><a name="report_the_email_with_the_highest_value">Report the email with the highest value</a></h2>
+<p>Suppose your mailbox has some emails from an automated script and that a message
+from this script typically looks like this (abbreviated):</p>
+<pre>
+ To: mailuser@server.net
+ From: autoscript@server.net
+ Subject: Results of Autoscript
+ Date: Wed, 09 Nov 2005 08:30:40 -0800
+ Message-ID: &lt;auto-000000992528@server.net&gt;</pre>
+<pre>
+ Homeruns 5</pre>
+<p>And further suppose that you are interested in reporting the message that has the
+highest number of home runs, and also to leave this message in the mailbox for future
+checks, but remove the other matching messages with lesser values:</p>
+<pre>
+ $ check_imap_receive -H mail.server.net --username mailuser --password mailpass
+ -s SUBJECT -s &quot;Results of Autoscript&quot; --capture-max &quot;Homeruns (\d+)&quot; --nodelete-captured</pre>
+<pre>
+ IMAP RECEIVE OK - 1 seconds, 3 found, 1 captured, 5 max, 2 deleted</pre>
+<p>
+</p>
+<h2><a name="troubleshoot_your_search_parameters">Troubleshoot your search parameters</a></h2>
+<p>Add the --nodelete and --imap-retries=1 parameters to your command line.</p>
+<p>
+</p>
+<hr />
+<h1><a name="exit_codes">EXIT CODES</a></h1>
+<p><table cellspacing="0" cellpadding="0"><tr><td>Complies with the Nagios plug-in specification:
+<tr><td> 0<td>OK<td>The plugin was able to check the service and it appeared to be functioning properly
+<tr><td> 1<td>Warning<td>The plugin was able to check the service, but it appeared to be above some &quot;warning&quot; threshold or did not appear to be working properly
+<tr><td> 2<td>Critical<td>The plugin detected that either the service was not running or it was above some &quot;critical&quot; threshold
+<tr><td> 3<td>Unknown<td>Invalid command line arguments were supplied to the plugin or the plugin was unable to check the status of the given hosts/service</table></p>
+<p>
+</p>
+<hr />
+<h1><a name="nagios_plugin_notes">NAGIOS PLUGIN NOTES</a></h1>
+<p>Nagios plugin reference: <a href="http://nagiosplug.sourceforge.net/developer-guidelines.html">http://nagiosplug.sourceforge.net/developer-guidelines.html</a></p>
+<p>This plugin does NOT use Nagios DEFAULT_SOCKET_TIMEOUT (provided by utils.pm as $TIMEOUT) 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.</p>
+<p>Other than that, it attempts to follow published guidelines for Nagios plugins.</p>
+<p>
+</p>
+<hr />
+<h1><a name="see_also">SEE ALSO</a></h1>
+<p><a href="http://nagios.org/">http://nagios.org/</a>
+<a href="http://search.cpan.org/~djkernen/Mail-IMAPClient-2.2.9/IMAPClient.pod">http://search.cpan.org/~djkernen/Mail-IMAPClient-2.2.9/IMAPClient.pod</a>
+<a href="http://search.cpan.org/~markov/Mail-IMAPClient-3.00/lib/Mail/IMAPClient.pod">http://search.cpan.org/~markov/Mail-IMAPClient-3.00/lib/Mail/IMAPClient.pod</a></p>
+<p>
+</p>
+<hr />
+<h1><a name="changes">CHANGES</a></h1>
+<pre>
+ Wed Oct 29 11:00:00 PST 2005
+ + version 0.1</pre>
+<pre>
+ Wed Nov 9 09:53:32 PST 2005
+ + added delete/nodelete option. deleting found messages is still default behavior.
+ + added capture-max option
+ + added nodelete-captured option
+ + added mailbox option
+ + added eval/alarm block to implement -c option
+ + now using an inline PluginReport package to generate the report
+ + copyright notice and GNU GPL
+ + version 0.2</pre>
+<pre>
+ Thu Apr 20 14:00:00 CET 2006 (by Johan Nilsson &lt;johann (at) axis.com&gt;)
+ + version 0.2.1
+ + added support for multiple polls of imap-server, with specified intervals</pre>
+<pre>
+ 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
+ + added patch from Benjamin Ritcey &lt;ben@ritcey.com&gt; for SSL support on machines that have an SSL-enabled
+ + version 0.2.3</pre>
+<pre>
+ Fri Apr 27 18:56:50 PDT 2007
+ + fixed problem that &quot;Invalid search parameters&quot; was not printed because of missing newline to flush it
+ + warnings and critical errors now try to append error messages received from the IMAP client
+ + changed connection error to display timeout only if timeout was the error
+ + documentation now mentions every command-line option accepted by the plugin, including abbreviations
+ + added abbreviations U for username, P for password, m for mailbox
+ + fixed bug that imap-check-interval applied even after the last try (imap-retries) when it was not necessary
+ + the IMAP expunge command is not sent unless at least one message is deleted
+ + fixed bug that the &quot;no messages&quot; warning was printed even if some messages were found
+ + version 0.3</pre>
+<pre>
+ Sun Oct 21 14:08:07 PDT 2007
+ + added port info to the &quot;could not connect&quot; error message
+ + fixed bug that occurred when using --ssl --port 143 which caused port to remain at the default 993 imap/ssl port
+ + added clarity shortcuts --search-subject and --search-header
+ + port is no longer a required option. defaults to 143 for regular IMAP and 993 for IMAP/SSL
+ + version 0.3.1</pre>
+<pre>
+ Sun Oct 21 20:41:56 PDT 2007
+ + reworked ssl support to use IO::Socket::SSL instead of the convenience method Mail::IMAPClient-&gt;Ssl (which is not included in the standard Mail::IMAPClient package)
+ + removed clarity shortcuts (bad idea, code bloat)
+ + version 0.4</pre>
+<pre>
+ Tue Dec 4 07:05:27 PST 2007
+ + added version check to _read_line workaround for SSL-related bug in Mail::IMAPClient version 2.2.9 ; newer versions fixed the bug
+ + added --usage option because the official nagios plugins have both --help and --usage
+ + added --timeout option to match the official nagios plugins
+ + fixed some minor pod formatting issues for perldoc
+ + version 0.4.1</pre>
+<pre>
+ Sat Dec 15 07:39:59 PST 2007
+ + improved compatibility with Nagios embedded perl (ePN)
+ + version 0.4.2</pre>
+<pre>
+ Mon Jan 7 21:35:23 PST 2008
+ + changed version check for Mail::IMAPClient version 2.2.9 to use string comparison le &quot;2.2.9&quot;
+ + fixed bug where script was dying on socket-&gt;autoflush when socket does not exist because autoflush was being called before checking the socket object
+ + version 0.4.3</pre>
+<pre>
+ Mon Feb 11 19:13:38 PST 2008
+ + fixed a bug for embedded perl version, variable &quot;%status&quot; will not stay shared in load_modules
+ + version 0.4.4</pre>
+<pre>
+ Mon May 26 08:33:27 PDT 2008
+ + fixed a bug for number captured, it now reflects number of messages captured instead of always returning &quot;1&quot;
+ + added --capture-min option to complement --capture-max
+ + added --search-critical-min to trigger a CRITICAL alert if number of messages found is less than argument, with default 1.
+ + fixed warning and critical messages to use &quot;more than&quot; or &quot;less than&quot; instead of the angle brackets, to make them more web friendly
+ + version 0.5</pre>
+<pre>
+ Wed Jul 2 14:59:05 PDT 2008
+ + fixed a bug for not finding a message after the first try, by reselecting the mailbox before each search
+ + version 0.5.1</pre>
+<pre>
+ Sat Dec 13 08:57:29 PST 2008
+ + added --download option to allow local searching of messages (useful if your server has an index that handles searching but it takes a while before new emails show up and you want immediate results), supports only the TEXT, BODY, SUBJECT, and HEADER search keys
+ + added --download-max option to set a limit on number of messages downloaded with --download
+ + version 0.6.0</pre>
+<pre>
+ Wed Sep 30 23:25:33 PDT 2009
+ + fixed --download-max option (was incorrectly looking for --download_max). currently both will work, in the future only --download-max will work
+ + added --template option to allow arbitrary substitutions for search parameters, and provided three convenience functions for working with dates
+ + added date search criteria to the --download option: SENTBEFORE, SENTON, and SENTSINCE which check the Date header and allow hours and minutes in addition to dates (whereas the IMAP standard only allows dates)
+ + added --search-critical-max to trigger a CRITICAL alert if number of messages found is more than argument, disabled by default.
+ + fixed a bug in --download --search where messages would match even though they failed the search criteria
+ + changed behavior of --download-max to look at the most recent messages first (hopefully); the IMAP protocol doesn't guarantee the order that the messages are returned but I observed that many mail servers return them in chronological order; so now --download-max reverses the order to look at the newer messages first
+ + added performance data for use with PNP4Nagios!
+ + version 0.7.0</pre>
+<pre>
+ Fri Oct 2 15:22:00 PDT 2009
+ + added --search-warning-max and --search-warning-min to trigger a WARNING alert if number of messages is more than or less than the specified number.
+ + fixed --download option not to fail with CRITICAL if mailbox is empty; now this can be configured with --search-warning-min or --search-critical-min
+ + version 0.7.1</pre>
+<pre>
+ Sat Nov 21 18:27:17 PST 2009
+ + fixed problem with using --download option on certain mail servers by turning on the IgnoreSizeErrors feature in IMAPClient
+ + added --peek option to prevent marking messages as seen
+ + version 0.7.2</pre>
+<pre>
+ Tue Jan 5 12:13:53 PST 2010
+ + added error message and exit with unknown status when an unrecognized IMAP search criteria is encountered by the --download --search option</pre>
+<pre>
+ Wed May 5 11:14:51 PDT 2010
+ + added mailbox list when mailbox is not found and verbose level 3 is on (-vvv)
+ + version 0.7.3</pre>
+<pre>
+ Tue Mar 8 18:58:14 AST 2011
+ + updated documentation for --search and --template to mention rfc5032 extensions (thanks to Stuart Henderson)</pre>
+<pre>
+ Fri May 6 08:35:09 AST 2011
+ + added --hires option to enable use of Time::Hires if available
+ + version 0.7.4</pre>
+<pre>
+ Fri Nov 11 01:51:40 AST 2011
+ + added --ssl-ca-file option to allow verifying the server certificate against a local .pem file (thanks to Alexandre Bezroutchko)
+ + added imap_ssl_cert.pl utility (not in this file) to conveniently save the server's SSL certificates into a local .pem file
+ + version 0.7.5</pre>
+<p>
+</p>
+<hr />
+<h1><a name="author">AUTHOR</a></h1>
+<p>Jonathan Buhacoff &lt;<a href="mailto:jonathan@buhacoff.net">jonathan@buhacoff.net</a>&gt;</p>
+<p>
+</p>
+<hr />
+<h1><a name="copyright_and_license">COPYRIGHT AND LICENSE</a></h1>
+<pre>
+ Copyright (C) 2005-2011 Jonathan Buhacoff</pre>
+<pre>
+ 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.</pre>
+<pre>
+ 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.</pre>
+<pre>
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see &lt;<a href="http://www.gnu.org/licenses/&gt">http://www.gnu.org/licenses/&gt</a>;.</pre>
+<pre>
+ <a href="http://www.gnu.org/licenses/gpl.txt">http://www.gnu.org/licenses/gpl.txt</a></pre>
+
+</body>
+
+</html>