initial commit
This commit is contained in:
commit
9dc0f99cf1
6 changed files with 967 additions and 0 deletions
41
hsadmin.py
Normal file
41
hsadmin.py
Normal file
|
@ -0,0 +1,41 @@
|
|||
from hs.admin.api import API
|
||||
import config
|
||||
import secrets
|
||||
import string
|
||||
|
||||
def login():
|
||||
api = API(cas=dict(uri=config.hsadmin_uri,
|
||||
service=config.hsadmin_service),
|
||||
credentials=dict(username=config.hsadmin_username,
|
||||
password=config.hsadmin_password),
|
||||
backends=[config.hsadmin_backend1,
|
||||
config.hsadmin_backend2])
|
||||
return api
|
||||
|
||||
def email_exists(api, domain, localpart):
|
||||
params = {'localpart': localpart, 'domain': domain}
|
||||
result = api.emailaddress.search(where=params)
|
||||
return len(result) > 0
|
||||
|
||||
def add_email(api, username, domain, localpart):
|
||||
params = {
|
||||
'domain': domain,
|
||||
'localpart': localpart,
|
||||
'target': [username],
|
||||
}
|
||||
try:
|
||||
api.emailaddress.add(set=params)
|
||||
except Exception as e:
|
||||
return str(e)
|
||||
return True
|
||||
|
||||
def remove_email(api, username, domain, localpart):
|
||||
params = {
|
||||
'domain': domain,
|
||||
'localpart': localpart,
|
||||
}
|
||||
try:
|
||||
api.emailaddress.delete(where=params)
|
||||
except Exception as e:
|
||||
return str(e)
|
||||
return True
|
Loading…
Add table
Add a link
Reference in a new issue