iredmail-doc/html_bk/sql.create.mail.user.html

94 lines
4.4 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SQL: Create new mail user</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;"
/>&nbsp;
<span>iRedMail</span>
</a>
&nbsp;&nbsp;//&nbsp;&nbsp;<a href="./index.html">Document Index</a></div><h1 id="sql-create-new-mail-user">SQL: Create new mail user</h1>
<div class="admonition attention">
<p class="admonition-title">Attention</p>
<p>This document is applicable to iRedMail-0.9.6 and later releases.
If you're running iRedMail-0.9.5-1 or earlier releases, please check
tutorial <a href="./sql.bulk.create.mail.users.html">SQL: Bulk create new mail users</a>
instead.</p>
</div>
<p>iRedMail ships the shell script <code>tools/create_mail_user_SQL.sh</code> to help you
create new mail user quickly.</p>
<h2 id="create-a-new-mail-user">Create a new mail user</h2>
<p>Sample usage:</p>
<ul>
<li>Create the mail domain name <code>example.com</code> with iRedAdmin first.</li>
<li>
<p>Create a new mail user with the shell script:</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>Please always quote the password with single quote.</p>
</div>
</li>
</ul>
<pre><code class="language-shell">cd iRedMail-0.9.6/tools/
bash create_mail_user_SQL.sh user1@example.com 'plain_password'
</code></pre>
<p>It will print SQL commands used to create this new user, you can save it to a
file, then login to SQL server as root user and import this file. for example:</p>
<ul>
<li>MySQL or MariaDB:</li>
</ul>
<pre><code class="language-shell"># cd iRedMail-0.9.6/tools/
# bash create_mail_user_SQL.sh user1@example.com 'plain_password' &gt; user.sql
# mysql -uroot -p
sql&gt; USE vmail;
sql&gt; SOURCE user.sql;
</code></pre>
<ul>
<li>PostgreSQL:</li>
</ul>
<pre><code># cd iRedMail-0.9.6/tools/
# bash create_mail_user_SQL.sh user1@example.com 'plain_password' &gt; /tmp/user.sql
# su - postgres
$ psql -d vmail
sql&gt; \i output.sql;
</code></pre>
<p>Don't forget to remove /tmp/user.sql.</p>
<p>Notes:</p>
<ul>
<li>Password scheme is defined in variable <code>PASSWORD_SCHEME</code>, default is <code>SSHA512</code>.
<code>BCRYPT</code> is recommended on FreeBSD and OpenBSD.</li>
<li>Per-user mailbox quota is defined in variable <code>DEFAULT_QUOTA</code>, default is
<code>1024</code> (MB). Use <code>0</code> for unlimited quota.</li>
<li>Maildir path is hashed like <code>domain.ltd/u/s/e/username-20150929</code>. If you
prefer <code>domain.ltd/username/</code>, please set <code>MAILDIR_STYLE='normal'</code>.</li>
<li>Mailbox storage path is defined in variable <code>STORAGE_BASE_DIRECTORY</code>, default
is <code>/var/vmail/vmail1</code>.</li>
</ul>
<h2 id="create-multiple-mail-users">Create multiple mail users</h2>
<p>With some shell scripting trick, it's easy to create many mail users. Just run
the script multiple times, but append the output SQL commands to same file.</p>
<pre><code># Create first user. With '&gt;' to create or truncate file `/tmp/users.sql`.
bash create_mail_user_SQL.sh user1@domain.com 'password' &gt; /tmp/users.sql
# Append users. With '&gt;&gt;' to append to `/tmp/users.sql`.
bash create_mail_user_SQL.sh user2@domain.com 'password' &gt;&gt; /tmp/users.sql
bash create_mail_user_SQL.sh user3@domain.com 'password' &gt;&gt; /tmp/users.sql
bash create_mail_user_SQL.sh user4@domain.com 'password' &gt;&gt; /tmp/users.sql
</code></pre>
<p>Then import <code>/tmp/users.sql</code> once to create them all at the same time.</p>
<h2 id="see-also">See Also</h2>
<ul>
<li><a href="./ldap.bulk.create.mail.users.html">LDAP: Bulk create mail users</a></li>
</ul><div class="footer">
<p style="text-align: center; color: grey;">All documents are available in <a href="https://github.com/iredmail/docs/">GitHub 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://github.com/iredmail/docs/archive/master.zip">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></body></html>