108 lines
4.4 KiB
HTML
108 lines
4.4 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<title>Interact iRedAdmin-Pro RESTful API with `curl`</title>
|
|
<link rel="stylesheet" type="text/css" href="./css/markdown.css" />
|
|
</head>
|
|
<body>
|
|
|
|
<div id="navigation">
|
|
<a href="https://www.iredmail.org" target="_blank">
|
|
<img alt="iRedMail web site"
|
|
src="./images/logo-iredmail.png"
|
|
style="vertical-align: middle; height: 30px;"
|
|
/>
|
|
<span>iRedMail</span>
|
|
</a>
|
|
// <a href="./index.html">Document Index</a></div><h1 id="interact-iredadmin-pro-restful-api-with-curl">Interact iRedAdmin-Pro RESTful API with <code>curl</code></h1>
|
|
<div class="admonition note">
|
|
<p class="admonition-title">Note</p>
|
|
<ul>
|
|
<li>For more details about iRedAdmin-Pro RESTful API, please read document:
|
|
<a href="./iredadmin-pro.restful.api.html">iRedAdmin-Pro: RESTful API</a>.</li>
|
|
<li>If you need an API which has not yet been implemented, don't hesitate to
|
|
<a href="https://www.iredmail.org/contact.html">contact us</a>.</li>
|
|
</ul>
|
|
</div>
|
|
<p>Sample <code>curl</code> commands to interact iRedAdmin-Pro RESTful API.</p>
|
|
<ul>
|
|
<li>replace <code><server></code> in url by the real server address (hostname or IP) which
|
|
runs iRedAdmin-Pro (with the <code>/iredadmin</code> prefix). for example,
|
|
<code>https://my_domain.com/iredadmin</code>.</li>
|
|
<li>replace <code><domain></code> in url by the real domain name.</li>
|
|
<li>replace <code><mail></code> in url by the real email address.</li>
|
|
</ul>
|
|
<pre><code>#
|
|
# Login
|
|
#
|
|
# It will create a plain text file `cookie.txt` under current directory.
|
|
curl -X POST -c cookie.txt -d "username=<username>&password=<password>" https://<server>/iredadmin/api/login
|
|
|
|
#
|
|
# Create domain (POST)
|
|
#
|
|
# cn=ABC Inc. (display name: "ABC Inc.")
|
|
# quota=20480 (quota: 20 GB)
|
|
curl -X POST -i -b cookie.txt -d "cn=ABC Inc.&quota=20480" https://<server>/iredadmin/api/domain/<domain>
|
|
|
|
#
|
|
# Create mail user (POST)
|
|
#
|
|
# cn=Zhang Huangbin (display name: "Zhang Huangbin")
|
|
# mailQuota=1024 (mailbox quota: 1 GB)
|
|
curl -X POST -i -b cookie.txt -d "cn=Zhang Huangbin&mailQuota=1024" https://<server>/iredadmin/api/user/<mail>
|
|
|
|
#
|
|
# Delete mail user (DELETE)
|
|
#
|
|
curl -X DELETE -i -b cookie.txt https://<server>/iredadmin/api/user/<mail>
|
|
|
|
#
|
|
# Update mail user profiles (PUT)
|
|
#
|
|
curl -X PUT -i -b cookie.txt -d "cn=John Smith&mailQuota=2048" https://<server>/iredadmin/api/user/<mail>
|
|
|
|
#
|
|
# Create mail alias (POST)
|
|
#
|
|
# cn=My Alias (display name: "My Alias")
|
|
curl -X POST -i -b cookie.txt -d "cn=My Alias" https://<server>/iredadmin/api/alias/<mail>
|
|
|
|
#
|
|
# Delete mail alias (DELETE)
|
|
#
|
|
curl -X DELETE -i -b cookie.txt https://<server>/iredadmin/api/alias/<mail>
|
|
|
|
#
|
|
# Create mailing list (POST, OpenLDAP backend only)
|
|
#
|
|
curl -X POST -i -b cookie.txt -d "cn=My List" https://<server>/iredadmin/api/maillist/<mail>
|
|
|
|
#
|
|
# Delete mail alias (DELETE)
|
|
#
|
|
curl -X DELETE -i -b cookie.txt https://<server>/iredadmin/api/maillist/<mail>
|
|
|
|
#
|
|
# Delete domain (DELETE)
|
|
#
|
|
curl -X DELETE -i -b cookie.txt https://<server>/iredadmin/api/domain/<domain>
|
|
</code></pre>
|
|
|
|
<h2 id="see-also">See Also</h2>
|
|
<ul>
|
|
<li><a href="./iredadmin-pro.restful.api.python.html">Interact iRedAdmin-Pro RESTful API with Python</a></li>
|
|
</ul><div class="footer">
|
|
<p style="text-align: center; color: grey;">All documents are available in <a href="https://bitbucket.org/zhb/iredmail-docs/src">BitBucket repository</a>, and published under <a href="http://creativecommons.org/licenses/by-nd/3.0/us/" target="_blank">Creative Commons</a> license. You can <a href="https://bitbucket.org/zhb/iredmail-docs/get/tip.tar.bz2">download the latest version</a> for offline reading. If you found something wrong, please do <a href="https://www.iredmail.org/contact.html">contact us</a> to fix it.</p>
|
|
</div>
|
|
<!-- Global site tag (gtag.js) - Google Analytics -->
|
|
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-3293801-21"></script>
|
|
<script>
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
|
|
gtag('config', 'UA-3293801-21');
|
|
</script>
|
|
</body></html> |