Пример #1
0
    def checkargs(self):
        from Redis import RedisObject
        rc = RedisObject()
        if rc.ping():
            if rc.exists(self.name):
                raise KeyError("Existing user name, exit!")
        else:
            print "\033[0;31;40mConnect Redis Server Error,Quit.\033[0m"
            sys.exit(7)

        if re.match(r'[a-zA-Z\_][0-9a-zA-Z\_]{1,19}', self.name) == None:
            raise ValueError('user_name illegal:A letter is required to begin with a letter or number, and the range number is 1-19.')
            sys.exit(129)

        if not self.time > 0:
            raise ValueError('Bad Value, demand is greater than 0 of the number.')
            sys.exit(127)

        if not self.service in Config.SERVICES:
            raise TypeError('Unsupport service:%s' % self.service)
            sys.exit(128)

        if re.match(r'([0-9a-zA-Z\_*\.*\-*]+)@([a-zA-Z0-9\-*\_*\.*]+)\.([a-zA-Z]+$)', self.email) == None:
            raise TypeError('Mail format error.')
            sys.exit(130)
Пример #2
0
        server.sendmail(self.from_addr, [to_addr], msg.as_string())
        server.quit()

if __name__ == '__main__':
    #When the replacement did not receive mail
    import sys
    from Redis import RedisObject

    if len(sys.argv) == 2:
        user = sys.argv[1]
    else:
        raise KeyError('Args is not enough.')

    sinfo = {"Username":user}
    rc = RedisObject()
    if rc.ping() and rc.exists(user):
        uinfo = rc.hashget(user)
        email = uinfo['email']
        sinfo['Service'] = uinfo['service']
        sinfo['Password'] = uinfo['passwd']
        if uinfo.get('dn', None):  #if true, is web, or app.
            sinfo['Connection'] = uinfo['dn']
        else:
            sinfo['Connection'] = uinfo['ip'] + ':' + uinfo['port']
        sinfo['other'] = 'This is a supplemental email.'
        ec = SendMail()
        import json
        ec.send(user, email, json.dumps(sinfo))
    else:
        print "No user or connect fail"
        sys.exit(1)