iredmail-doc/en_US/howto/sql.create.mail.user.md

69 lines
1.9 KiB
Markdown
Raw Normal View History

# SQL: Create new mail user
!!! attention
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 [SQL: Bulk create new mail users](./sql.bulk.create.mail.users.html)
instead.
iRedMail ships the shell script `tools/create_mail_user_SQL.sh` to help you
create new mail user quickly. With some shell scripting trick, it's easy to
create many mail users.
Sample usage:
* Create the mail domain name `example.com` with iRedAdmin first.
* Create a new mail user with the shell script:
!!! warning
Please always quote the password with single quote.
```shell
cd iRedMail-0.9.6/tools/
bash create_mail_user_SQL.sh user1@example.com 'plain_password'
```
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:
* MySQL or MariaDB:
```shell
# cd iRedMail-0.9.6/tools/
# bash create_mail_user_SQL.sh user1@example.com 'plain_password' > user.sql
# mysql -uroot -p
sql> USE vmail;
sql> SOURCE user.sql;
```
* PostgreSQL:
```
# cd iRedMail-0.9.6/tools/
# bash create_mail_user_SQL.sh user1@example.com 'plain_password' > /tmp/user.sql
# su - postgres
$ psql -d vmail
sql> \i output.sql;
```
Don't forget to remove /tmp/user.sql.
Notes:
* Password scheme is defined in variable `PASSWORD_SCHEME`, default is `SSHA512`.
`BCRYPT` is recommended on FreeBSD and OpenBSD.
* Per-user mailbox quota is defined in variable `DEFAULT_QUOTA`, default is
2020-07-12 09:52:50 -05:00
`1024` (MB). Use `0` for unlimited quota.
* Maildir path is hashed like `domain.ltd/u/s/e/username-20150929`. If you
prefer `domain.ltd/username/`, please set `MAILDIR_STYLE='normal'`.
* Mailbox storage path is defined in variable `STORAGE_BASE_DIRECTORY`, default
is `/var/vmail/vmail1`.
## See Also
* [LDAP: Bulk create mail users](./ldap.bulk.create.mail.users.html)