commit ce7fa554bfc3f42f90bda1fc3be97832d7e966fe Author: Alarig Le Lay Date: Fri Nov 22 01:08:28 2024 +0100 Initial import from https://exchange.nagios.org/components/com_mtree/attachment.php?link_id=1344&cf_id=24 Signed-off-by: Alarig Le Lay diff --git a/check_imap_login.py b/check_imap_login.py new file mode 100644 index 0000000..621f06d --- /dev/null +++ b/check_imap_login.py @@ -0,0 +1,64 @@ +#!/usr/bin/python +# vi:si:et:sw=4:sts=4:ts=4 +# -*- coding: UTF-8 -*- +# -*- Mode: Python -*- +# +# Copyright (C) 2005 Bertera Pietro + +# This file may be distributed and/or modified under the terms of +# the GNU General Public License version 2 as published by +# the Free Software Foundation. +# This file is distributed without any warranty; without even the implied +# warranty of merchantability or fitness for a particular purpose. +# See "LICENSE.GPL" in the source distribution for more information. + +import sys, os, imaplib, getopt + +def usage(): + print "-u " + print "-p " + print "-s use SSL" + print "-H " + +def main(): + try: + opts, args = getopt.getopt(sys.argv[1:], "u:p:sH:") + except getopt.GetoptError: + usage() + return 3 + + user = host = password = use_ssl = None + + for o, a in opts: + if o == "-u": + user = a + elif o == "-p": + password = a + elif o == "-s": + use_ssl = True + elif o == "-H": + host = a + if user == None or password == None or host == None: + usage() + return 1 + + if use_ssl: + M = imaplib.IMAP4_SSL(host=host) + else: + M = imaplib.IMAP4(host) + + try: + M.login(user, password) + except Exception, e: + print "CRITICAL: IMAP Login not Successful: %s" % e + sys.exit(2) + + M.logout() + print "OK IMAP Login Successful" + return 0 + +if __name__ == "__main__": + sys.exit(main()) + + +