41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
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
|