Note
requests
. For
more details, please read its official documentation:
Requests: HTTP for HumansSample Python code to interact iRedAdmin-Pro RESTful API.
import sys
import requests
url = 'https://<server>/iredadmin/api'
# Admin email address and password.
admin = 'postmaster@mydomain.com'
pw = 'my_password'
# Login
r = requests.post(url + '/login', data={'username': admin,
'password': pw})
# Get returned JSON data
data = r.json()
if not data['_success']:
sys.exit('Login failed')
cookies = r.cookies
# Create domain: test.com
requests.post(url + '/domain/test.com',
cookies=cookies,
data={'defaultQuota': '1024'})
# Create user: zhb@test.com
requests.post(url + '/user/zhb@test.com',
cookies=cookies,
data={'cn': 'My Name',
'password': 'A@StrongPassword2',
'preferredLanguage': 'zh_CN',
'mailQuota': 2048})
# Create list: list@test.com. Note: OpenLDAP only.
requests.post(url + '/maillist/list@test.com',
cookies=cookies,
data={'cn': 'My List'})
# Create alias: alias@test.com
requests.post(url + '/alias/alias@test.com',
cookies=cookies,
data={'cn': 'My Alias'})
# Update user: zhb@test.com
requests.put(url + '/user/zhb@test.com',
cookies=cookies,
data={'cn': 'My New Name',
'password': 'WHDZ2@5yxORvVqzYY',
'transport': 'dovecot',
'language': 'en_US',
'quota': 2048})
# Delete user: zhb@test.com
requests.delete(url + '/user/zhb@test.com', cookies=cookies)
# Delete mailing list: list@test.com. Note: OpenLDAP only.
requests.delete(url + '/maillist/list@test.com', cookies=cookies)
# Delete alias: alias@test.com
requests.delete(url + '/alias/alias@test.com', cookies=cookies)
# Delete domain: test.com
requests.delete(url + '/domain/test.com', cookies=cookies)