Commit de9a39a1 authored by nimrod's avatar nimrod
Browse files

Add IMAP check.

parent 1ad8a859
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ locals {
    "vouch",
    "ssh",
    "smtp",
    "imap",
  ]
  function_names = [for name in local.functions : "${local.function_name_prefix}-${replace(name, "_", "")}"]
}

src/imap.py

0 → 100644
+29 −0
Original line number Diff line number Diff line
from imaplib import IMAP4_SSL
from utils import publish


def check_imap():
    """Check the IMAP port."""
    try:
        imap = IMAP4_SSL("imap.shore.co.il", 993)
        if "AUTH=PLAIN" not in imap.capabilities:
            return [False, "AUTH not in IMAP capabilities."]
        if imap.noop()[0] != "OK":
            return [False, "NOOP failed in IMAP connection."]
        imap.logout()
    except Exception as e:  # pylint: disable=broad-except,invalid-name
        print(str(e))
        return [False, "IMAP failure."]
    return [True, "IAMP is OK."]


def handler(event, context):  # pylint: disable=unused-argument
    """Lambda event handler."""
    success, message = check_imap()
    print(message)
    if not success:
        publish(message)


if __name__ == "__main__":
    handler("event", "context")