diff --git a/3-faq-howto/howto.enable.smtps.service.md b/3-faq-howto/howto.enable.smtps.service.md index 7971efb4..7c10f6f8 100644 --- a/3-faq-howto/howto.enable.smtps.service.md +++ b/3-faq-howto/howto.enable.smtps.service.md @@ -5,7 +5,7 @@ ### Why iRedMail doesn't enable SMTPS (SMTP over SSL) by default SMTPS is deprecated, so iRedMail disable it by default. -Quote from wikipedia.org: http://en.wikipedia.org/wiki/SMTPS +Quote from (wikipedia.org)[http://en.wikipedia.org/wiki/SMTPS] > Originally, in early 1997, the Internet Assigned Numbers Authority registered 465 for SMTPS. By the end of 1998, this was revoked when STARTTLS has been specified. With STARTTLS, the same port can be used with or without TLS. SMTP was seen as particularly important, because clients of this protocol are often other mail servers, which can not know whether a server they wish to communicate with will have a separate port for TLS. The port 465 is now registered for Source-Specific Multicast audio and video. diff --git a/3-faq-howto/pipe.incoming.email.for.certain.user.to.external.script.md b/3-faq-howto/pipe.incoming.email.for.certain.user.to.external.script.md index 8cd3131f..d67fed8e 100644 --- a/3-faq-howto/pipe.incoming.email.for.certain.user.to.external.script.md +++ b/3-faq-howto/pipe.incoming.email.for.certain.user.to.external.script.md @@ -16,8 +16,8 @@ external-pipe unix - n n - - pipe __Note__: * You can use some macros to replace with corresponding information from the -Postfix queue manager delivery request. Refer to Postfix manual page for more -detail: ()[http://www.postfix.org/pipe.8.html]. For example: +Postfix queue manager delivery request. Refer to Postfix manual page +[pipe(8)](http://www.postfix.org/pipe.8.html) for more details. For example: ``` external-pipe unix - n n - - pipe @@ -45,11 +45,11 @@ this user will be piped to this new transport - your script. * If you have iRedAdmin-Pro: * For iRedAdmin-Pro-LDAP installed, please go to user profile page, under -tab `Advanced`, set `Relay/Transport setting` to `external-pipe`. Screenshot for -your reference: ()[http://www.iredmail.org/images/iredadmin/user_profile_relay.png] +tab `Advanced`, set `Relay/Transport setting` to `external-pipe`. +[Screenshot](http://www.iredmail.org/images/iredadmin/user_profile_relay.png) for your reference: * For iRedAdmin-Pro-MySQL or iRedAdmin-Pro-PGSQL installed, please go -to user profile page, under tab `Relay`, set `/Transport setting` to +to user profile page, under tab `Relay`, set `Relay/Transport setting` to `external-pipe`. * If you don't have iRedAdmin-Pro, please update LDAP/MySQL/PgSQL database to @@ -61,9 +61,9 @@ use this new transport. * For MySQL/PostgreSQL backend, please execute below command with SQL command line tool (Replace 'user@domain.ltd' by the real email address): -```mysql +
 sql> USE vmail;
 sql> UPDATE mailbox SET transport='external-pipe' WHERE username='user@domain.ltd';
-```
+
That's all. diff --git a/3-faq-howto/use.or.migrate.password.hashes.md b/3-faq-howto/use.or.migrate.password.hashes.md new file mode 100644 index 00000000..555b1d9e --- /dev/null +++ b/3-faq-howto/use.or.migrate.password.hashes.md @@ -0,0 +1,64 @@ +# How to use or migrate password hashes + +## Password hashes supported by iRedMail + +iRedMail configures Postfix to use Dovecot as SASL authenticate server, so all +password schemes supported by Dovecot can be used in iRedMail. Please refer to +Dovecot wiki page +[`Password Schemes`](http://wiki2.dovecot.org/Authentication/PasswordSchemes) for more details. + +Below password schemes are supported in iRedAdmin-Pro (which means you can add new mail user with either one): + +* Plain text. e.g. `123456` +* MD5. (salted. e.g. `$1$GfHYI7OE$vlXqMZSyJOSPXAmbXHq250` +* PLAIN-MD5 (unsalted MD5). e.g. `0d2bf3c712402f428d48fed691850bfc` +* SSHA. e.g. `{SSHA}OuCrqL2yWwQIu8a9uvyOQ5V/ZKfL7LJD` +* SSHA512. e.g. `{SSHA512}FxgXDhBVYmTqoboW+ibyyzPv/wGG7y4VJtuHWrx+wfqrs/lIH2Qxn2eA0jygXtBhMvRi7GNFmL++6aAZ0kXpcy1fxag=` + +__NOTE__: Dovecot claims it supports SSHA512, but I didn't get it work. +Please test it first if you choose SSHA512. + +## Default password schemes used in iRedMail + +* For MySQL and PostgreSQL backends: `MD5` (salted). +* For LDAP backend: `SSHA`. + +## How to use different password hashes in iRedMail + +### For MySQL and PostgreSQL backends + +All mail users are stored in SQL table `vmail.mailbox`, user password is stored +in SQL column `mailbox.password`. For example: + +
+sql> UPDATE mailbox SET password='$1$GfHYI7OE$vlXqMZSyJOSPXAmbXHq250' WHERE username='xx@xx';
+sql> UPDATE mailbox SET password='{SSHA}OuCrqL2yWwQIu8a9uvyOQ5V/ZKfL7LJD' WHERE username='xx@xx';
+sql> UPDATE mailbox SET password='{SSHA512}FxgXDhBVYmTqoboW+ibyyzPv/wGG7y4VJtuHWrx+wfqrs/lIH2Qxn2eA0jygXtBhMvRi7GNFmL++6aAZ0kXpcy1fxag=' WHERE username='xx@xx';
+
+ +* To store PLAIN-MD5, you have to prepend `{PLAIN-MD5}` in your password hash: + +
+sql> UPDATE mailbox SET password='{PLAIN-MD5}0d2bf3c712402f428d48fed691850bfc' WHERE username='xx@xx';
+
+ +* To store plain password, you have to prepend `{PLAIN}`: +
sql> UPDATE mailbox SET password='{PLAIN}123456' WHERE username='xx@xx';
+ +### For LDAP backends + +User password is stored in attribute `userPassword` of user object. + +* To store plain password, SSHA, SSHA512 password hash, just store them in +original format. For example: +
+userPassword: 123456
+userPassword: {SSHA}OuCrqL2yWwQIu8a9uvyOQ5V/ZKfL7LJD
+userPassword: {SSHA512}FxgXDhBVYmTqoboW+ibyyzPv/wGG7y4VJtuHWrx+wfqrs/lIH2Qxn2eA0jygXtBhMvRi7GNFmL++6aAZ0kXpcy1fxag=
+ +* To store standard MD5 password (salted MD5 hash), please prepend `{CRYPT}` +(case insensitive) in your password hash. For example: +
userPassword: {CRYPT}$1$GfHYI7OE$vlXqMZSyJOSPXAmbXHq250
+ +__IMPORTANT NOTE__: If you want to input password hash with phpLDAPadmin, +please choose `clear` in the password hash list, then input password hash. diff --git a/html/css/markdown.css b/html/css/markdown.css index 7edf3e09..3a70de7a 100644 --- a/html/css/markdown.css +++ b/html/css/markdown.css @@ -14,8 +14,8 @@ p { margin-bottom: 4px; padding: 0; } -h1 { font-size: 36px; } -h2 { font-size: 24px; } +h1 { font-size: 48px; } +h2 { font-size: 36px; padding-top: 24px;} h3 { font-size: 24px; } h4 { font-size: 21px; } h5 { font-size: 18px; } @@ -249,11 +249,13 @@ pre, code { border-radius: 3px; overflow-x: auto; padding: 5px 10px 5px 10px; - word-wrap: normal + word-wrap: normal; + font-size: 14px; + line-height: 20px; } -code {padding: 1px 5px 1px 5px;} +code { padding: 1px 5px 1px 5px; } pre>code { margin: 0; border: 0; - padding: 1px 3px; + padding: 5px 10px 5px 10px; } diff --git a/html/faq-howto/howto.enable.smtps.service.html b/html/faq-howto/howto.enable.smtps.service.html index 92bd9748..0fe4cab4 100644 --- a/html/faq-howto/howto.enable.smtps.service.html +++ b/html/faq-howto/howto.enable.smtps.service.html @@ -20,7 +20,7 @@

Why iRedMail doesn't enable SMTPS (SMTP over SSL) by default

SMTPS is deprecated, so iRedMail disable it by default. -Quote from wikipedia.org: http://en.wikipedia.org/wiki/SMTPS

+Quote from (wikipedia.org)[http://en.wikipedia.org/wiki/SMTPS]

Originally, in early 1997, the Internet Assigned Numbers Authority registered 465 for SMTPS. By the end of 1998, this was revoked when STARTTLS has been specified. With STARTTLS, the same port can be used with or without TLS. SMTP was seen as particularly important, because clients of this protocol are often other mail servers, which can not know whether a server they wish to communicate with will have a separate port for TLS. The port 465 is now registered for Source-Specific Multicast audio and video.

diff --git a/html/faq-howto/pipe.incoming.email.for.certain.user.to.external.script.html b/html/faq-howto/pipe.incoming.email.for.certain.user.to.external.script.html index 9591a834..e8637314 100644 --- a/html/faq-howto/pipe.incoming.email.for.certain.user.to.external.script.html +++ b/html/faq-howto/pipe.incoming.email.for.certain.user.to.external.script.html @@ -19,8 +19,8 @@ config file /etc/postfix/master.cf:

Note:

external-pipe   unix    -   n   n   -   -   pipe
     flags=DRhu user=vmail:vmail argv=/path/to/your/external/script.sh -f ${sender} -d ${user}@${domain} -m ${extension}
@@ -47,12 +47,12 @@ this user will be piped to this new transport - your script.

@@ -72,8 +72,9 @@ use this new transport.

-
sql> USE vmail;
-sql> UPDATE mailbox SET transport='external-pipe' WHERE username='user@domain.ltd';
-
+
+sql> USE vmail;
+sql> UPDATE mailbox SET transport='external-pipe' WHERE username='user@domain.ltd';
+

That's all.

\ No newline at end of file diff --git a/html/faq-howto/use.or.migrate.password.hashes.html b/html/faq-howto/use.or.migrate.password.hashes.html new file mode 100644 index 00000000..708a23d1 --- /dev/null +++ b/html/faq-howto/use.or.migrate.password.hashes.html @@ -0,0 +1,69 @@ + + + + + + + + +

How to use or migrate password hashes

+

Password hashes supported by iRedMail

+

iRedMail configures Postfix to use Dovecot as SASL authenticate server, so all +password schemes supported by Dovecot can be used in iRedMail. Please refer to +Dovecot wiki page +Password Schemes for more details.

+

Below password schemes are supported in iRedAdmin-Pro (which means you can add new mail user with either one):

+ +

NOTE: Dovecot claims it supports SSHA512, but I didn't get it work. +Please test it first if you choose SSHA512.

+

Default password schemes used in iRedMail

+ +

How to use different password hashes in iRedMail

+

For MySQL and PostgreSQL backends

+

All mail users are stored in SQL table vmail.mailbox, user password is stored +in SQL column mailbox.password. For example:

+
+sql> UPDATE mailbox SET password='$1$GfHYI7OE$vlXqMZSyJOSPXAmbXHq250' WHERE username='xx@xx';
+sql> UPDATE mailbox SET password='{SSHA}OuCrqL2yWwQIu8a9uvyOQ5V/ZKfL7LJD' WHERE username='xx@xx';
+sql> UPDATE mailbox SET password='{SSHA512}FxgXDhBVYmTqoboW+ibyyzPv/wGG7y4VJtuHWrx+wfqrs/lIH2Qxn2eA0jygXtBhMvRi7GNFmL++6aAZ0kXpcy1fxag=' WHERE username='xx@xx';
+
+ + +
+sql> UPDATE mailbox SET password='{PLAIN-MD5}0d2bf3c712402f428d48fed691850bfc' WHERE username='xx@xx';
+
+ + +

For LDAP backends

+

User password is stored in attribute userPassword of user object.

+ +

IMPORTANT NOTE: If you want to input password hash with phpLDAPadmin, +please choose clear in the password hash list, then input password hash.

\ No newline at end of file diff --git a/html/index.html b/html/index.html index 3812415e..6d83c953 100644 --- a/html/index.html +++ b/html/index.html @@ -15,6 +15,7 @@
  • How to enable SMTPS service (SMTP over SSL, port 465)
  • How to pipe incoming email for certain user to external script
  • How to perform silent/unattended iRedMail installation
  • +
  • How to use or migrate password hashes
  • Backup and Restore