Sends an instant message to the inputted receivers from the
    given user.  The senderDomain is an override to be used 
    when no domain is supplied, same for the receiverDomain.
    
    :param      sender          <str>
    :param      password        <str>
    :param      receivers       <list> [ <str>, .. ]
    :param      body            <str>
    :param      senderDomain    <str>   
    :param      receiverDomain  <str>
    
    :return     <bool> success

def sendJabber(sender,
               password,
               receivers,
               body,
               senderDomain=NOTIFY_IM_DOMAIN_SENDER,
               receiverDomain=NOTIFY_IM_DOMAIN_RECEIVER):
    """
    Sends an instant message to the inputted receivers from the
    given user.  The senderDomain is an override to be used 
    when no domain is supplied, same for the receiverDomain.
    
    :param      sender          <str>
    :param      password        <str>
    :param      receivers       <list> [ <str>, .. ]
    :param      body            <str>
    :param      senderDomain    <str>   
    :param      receiverDomain  <str>
    
    :return     <bool> success
    """
    import xmpp

    # make sure there is a proper domain as part of the sender 
    if '@' not in sender:
        sender += '@' + senderDomain

    # create a jabber user connection
    user = xmpp.protocol.JID(sender)

    # create a connection to an xmpp client
    client = xmpp.Client(user.getDomain(), debug=[])
    connection = client.connect(secure=0, use_srv=False)
    if not connection:
        text = 'Could not create a connection to xmpp (%s)' % sender
        err = errors.NotifyError(text)
        logger.error(err)
        return False

    # authenticate the session
    auth = client.auth(user.getNode(), password, user.getResource())
    if not auth:
        text = 'Jabber not authenticated: (%s, %s)' % (sender, password)
        err = errors.NotifyError(text)
        logger.error(err)
        return False

    count = 0

    # send the message to the inputted receivers
    for receiver in receivers:
        if '@' not in receiver:
            receiver += '@' + receiverDomain

        # create the message
        msg = xmpp.protocol.Message(receiver, body)

        # create the html message
        html_http = {'xmlns': 'http://jabber.org/protocol/xhtml-im'}
        html_node = xmpp.Node('html', html_http)
        enc_msg = body.encode('utf-8')
        xml = '<body xmlns="http://www.w3.org/1999/xhtml">%s</body>' % enc_msg
        html_node.addChild(node=xmpp.simplexml.XML2Node(xml))

        msg.addChild(node=html_node)

        client.send(msg)
        count += 1

    return count > 0