From 6ac94a97c340bf7a2aa26244dfaabd46578a42cc Mon Sep 17 00:00:00 2001 From: Zhang Huangbin Date: Tue, 23 Sep 2014 10:47:49 +0800 Subject: [PATCH] Format md files with Dos2unix. --- ...er.to.send.email.without.authentication.md | 58 +++--- 4-howto/ldap.add.alias.domain.md | 94 +++++----- 4-howto/ldap.add.mail.alias.md | 44 ++--- 4-howto/ldap.add.mail.list.md | 174 +++++++++--------- 4-howto/ldap.user.mail.forwarding.md | 76 ++++---- 4-howto/recalculate.mailbox.quota.md | 50 ++--- 4-howto/sql.create.mail.alias.md | 40 ++-- .../turn.on.debug.mode.in.amavisd.md | 26 +-- .../turn.on.debug.mode.in.openldap.md | 26 +-- README.md | 20 +- SUMMARY.md | 120 ++++++++++++ convert.sh | 5 +- html/index.html | 30 ++- ignore.trash.folder.in.quota.md | 38 ++-- ...or.incoming.and.outgoing.mails.with.bcc.md | 122 ++++++------ 15 files changed, 518 insertions(+), 405 deletions(-) diff --git a/4-howto/allow.user.to.send.email.without.authentication.md b/4-howto/allow.user.to.send.email.without.authentication.md index 0bbecd07..18748223 100644 --- a/4-howto/allow.user.to.send.email.without.authentication.md +++ b/4-howto/allow.user.to.send.email.without.authentication.md @@ -1,29 +1,29 @@ -# Allow user to send email without authentication - -[TOC] - -Create a plain text file: `/etc/postfix/accepted_unauth_senders`: - -``` -fax-machine-12@mydomain.tld OK -``` - -Use postmap to create hash db file: - -``` -# postmap hash:/etc/postfix/accepted_unauth_senders``` -``` - -Modify Postfix to use this text file: `/etc/postfix/main.cf` - -``` -smtpd_sender_restrictions = - check_sender_access hash:/etc/postfix/accepted_unauth_senders, - [...OTHER RESTRICTIONS HERE...] -``` - -Restart/reload postfix to make it work: - -``` -# /etc/init.d/postfix restart -``` +# Allow user to send email without authentication + +[TOC] + +Create a plain text file: `/etc/postfix/accepted_unauth_senders`: + +``` +fax-machine-12@mydomain.tld OK +``` + +Use postmap to create hash db file: + +``` +# postmap hash:/etc/postfix/accepted_unauth_senders``` +``` + +Modify Postfix to use this text file: `/etc/postfix/main.cf` + +``` +smtpd_sender_restrictions = + check_sender_access hash:/etc/postfix/accepted_unauth_senders, + [...OTHER RESTRICTIONS HERE...] +``` + +Restart/reload postfix to make it work: + +``` +# /etc/init.d/postfix restart +``` diff --git a/4-howto/ldap.add.alias.domain.md b/4-howto/ldap.add.alias.domain.md index 044cf095..ba416c23 100644 --- a/4-howto/ldap.add.alias.domain.md +++ b/4-howto/ldap.add.alias.domain.md @@ -1,47 +1,47 @@ -# LDAP: Add an alias domain - -## What an alias domain is used for? - -Let's say you have a mail domain `example.com` hosted on your iRedMail server, -if you add domain name `domain.ltd` as an alias domain of `example.com`, all -emails sent to `username@domain.ltd` will be delivered to user -`username@example.com`'s mailbox. - -## Add alias domain with iRedAdmin-Pro - -With iRedAdmin-Pro, you can simply add alias domain name in domain profile page, -under tab `Aliases`. - -Screenshot: - -![](http://www.iredmail.org/images/iredadmin/domain_profile_alias.png) - -## How to add an alias domain with phpLDAPadmin: - -* Login to phpLDAPadmin (`https://[your_server]/phpldapadmin`) as LDAP root dn -(`cn=Manager,dc=xx,dc=xx`) - -* Find the LDAP object of your mail domain which you want to add alias -domain in left panel of phpLDAPadmin, click the ldap object, phpLDAPadmin will -show detailed LDAP attributes/values of this domain in right panel. - -* Add a new LDAP attribute `domainAliasName` to this domain account, set value -to the alias domain (e.g. `domain.com`). Save your change. - -Now you should add addition mail address for all mail users, lists, aliases. -For example, if you have mail user `user@example.com`, you should add addition -email address `user@domain.ltd` for this user. Steps: - -* Find the LDAP object of mail account which you want to add addition email -address in left panel of phpLDAPadmin, for example, user `user@example.com`, -click the ldap object, phpLDAPadmin will show detailed LDAP attributes/values -in right panel. - -* Add a new LDAP attribute `shadowAddress` to this mail account, set value to -`user@domain.ltd`. __WARNING__: You must user the same username part as -original email address. - -* Save your change. - -If you have several mail accounts (mail users, lists, aliases), you have to -add addition email address for them all. +# LDAP: Add an alias domain + +## What an alias domain is used for? + +Let's say you have a mail domain `example.com` hosted on your iRedMail server, +if you add domain name `domain.ltd` as an alias domain of `example.com`, all +emails sent to `username@domain.ltd` will be delivered to user +`username@example.com`'s mailbox. + +## Add alias domain with iRedAdmin-Pro + +With iRedAdmin-Pro, you can simply add alias domain name in domain profile page, +under tab `Aliases`. + +Screenshot: + +![](http://www.iredmail.org/images/iredadmin/domain_profile_alias.png) + +## How to add an alias domain with phpLDAPadmin: + +* Login to phpLDAPadmin (`https://[your_server]/phpldapadmin`) as LDAP root dn +(`cn=Manager,dc=xx,dc=xx`) + +* Find the LDAP object of your mail domain which you want to add alias +domain in left panel of phpLDAPadmin, click the ldap object, phpLDAPadmin will +show detailed LDAP attributes/values of this domain in right panel. + +* Add a new LDAP attribute `domainAliasName` to this domain account, set value +to the alias domain (e.g. `domain.com`). Save your change. + +Now you should add addition mail address for all mail users, lists, aliases. +For example, if you have mail user `user@example.com`, you should add addition +email address `user@domain.ltd` for this user. Steps: + +* Find the LDAP object of mail account which you want to add addition email +address in left panel of phpLDAPadmin, for example, user `user@example.com`, +click the ldap object, phpLDAPadmin will show detailed LDAP attributes/values +in right panel. + +* Add a new LDAP attribute `shadowAddress` to this mail account, set value to +`user@domain.ltd`. __WARNING__: You must user the same username part as +original email address. + +* Save your change. + +If you have several mail accounts (mail users, lists, aliases), you have to +add addition email address for them all. diff --git a/4-howto/ldap.add.mail.alias.md b/4-howto/ldap.add.mail.alias.md index 148860c4..d9a9a276 100644 --- a/4-howto/ldap.add.mail.alias.md +++ b/4-howto/ldap.add.mail.alias.md @@ -1,22 +1,22 @@ -# LDAP: Add a mail alias account - -* Log into phpLDAPadmin as LDAP root dn `cn=Manager` or `cn=vmailadmin`: -![](http://screenshots.iredmail.googlecode.com/hg/phpldapadmin/login.png) - -* Expand LDAP tree in left panel, click `Create new entry here` under `ou=Aliases` of your domain, and select `Default` in right panel: -![](http://screenshots.iredmail.googlecode.com/hg/phpldapadmin/create_alias_1.png) - -* Select object class `mailAlias` in right panel: -![](http://screenshots.iredmail.googlecode.com/hg/phpldapadmin/create_alias_2.png) - -* Input required fields of alias account: -![](http://screenshots.iredmail.googlecode.com/hg/phpldapadmin/create_alias_3.png) - -__WARNING__: Attribute `enabledService` requires two values: `mail`, `deliver`. - -* Confirm to create: -![](http://screenshots.iredmail.googlecode.com/hg/phpldapadmin/create_alias_4.png) - -* Add missing value of attribute `enabledService`, and you can add as many destination addresses as you want here (value of attribute `mailForwardingAddress`): -![](http://screenshots.iredmail.googlecode.com/hg/phpldapadmin/create_alias_5.png) - +# LDAP: Add a mail alias account + +* Log into phpLDAPadmin as LDAP root dn `cn=Manager` or `cn=vmailadmin`: +![](http://screenshots.iredmail.googlecode.com/hg/phpldapadmin/login.png) + +* Expand LDAP tree in left panel, click `Create new entry here` under `ou=Aliases` of your domain, and select `Default` in right panel: +![](http://screenshots.iredmail.googlecode.com/hg/phpldapadmin/create_alias_1.png) + +* Select object class `mailAlias` in right panel: +![](http://screenshots.iredmail.googlecode.com/hg/phpldapadmin/create_alias_2.png) + +* Input required fields of alias account: +![](http://screenshots.iredmail.googlecode.com/hg/phpldapadmin/create_alias_3.png) + +__WARNING__: Attribute `enabledService` requires two values: `mail`, `deliver`. + +* Confirm to create: +![](http://screenshots.iredmail.googlecode.com/hg/phpldapadmin/create_alias_4.png) + +* Add missing value of attribute `enabledService`, and you can add as many destination addresses as you want here (value of attribute `mailForwardingAddress`): +![](http://screenshots.iredmail.googlecode.com/hg/phpldapadmin/create_alias_5.png) + diff --git a/4-howto/ldap.add.mail.list.md b/4-howto/ldap.add.mail.list.md index a19e529c..41935170 100644 --- a/4-howto/ldap.add.mail.list.md +++ b/4-howto/ldap.add.mail.list.md @@ -1,87 +1,87 @@ -# LDAP: Add a mail list account - -## Add mail list with iRedAdmin-Pro - -With iRedAdmin-Pro, you can easily add mail list account by click menu: -`Add -> Mail List` in main navigation bar. - -## Add mail list with phpLDAPadmin - -* Login to phpLDAPadmin (httpS://[your_server]/phpldapadmin/) -* Expand LDAP tree in left panel, find `ou=Groups` under your domain dn. -* Click `ou=Groups` in left panel, then click `Create a child entry` in right -panel. Screenshot: - -[](http://screenshots.iredmail.googlecode.com/hg/iredmail/phpldapadmin/create_maillist_ou_groups.png) -* Choose `mailList` in `ObjectClasses` list, then click `Proceed`. -* Select `mail` as RDN, fill necessary values of attributes: - -``` -dn: mail=demolist@demo.iredmail.org,ou=Groups,domainName=demo.iredmail.org,o=domains,dc=iredmail,dc=org -accountStatus: active -cn: demolist -enabledService: mail -enabledService: deliver -enabledService: displayedInGlobalAddressBook -mail: demolist@demo.iredmail.org -objectClass: mailList -``` - -Now switch to `ou=Users` under you domain LDAP dn in left panel. - -* Expand `ou=Users` in left panel. -* Find user account which you want to assign to new mail list we created above. -* Click user account in left panel. -* If attribute `memberOfGroup` exists in right panel: - * click `Add value` under it and fill mail address of our new mail list. For example: `demolist@demo.iredmail.org` - * Click `Update Object` to save settings. -* If attribute `memberOfGroup` doesn't exist in right panel: - * Click `Add new attribute` in right panel - * Choose `memberOfGroup` in drop-down list. - * Fill mail address of our new mail list. - * Click `Update Object` to save settings. - -You can add as many `memberOfGroup=xxx` as you want, which means this user is assigned to many mail lists. - -Here's sample to add external users as mail list members: - -``` -dn: memberOfGroup=demolist@demo.iredmail.org,ou=Externals,domainName=demo.iredmail.org,o=domains,dc=iredmail,dc=org -accountstatus: active -enabledservice: mail -enabledservice: deliver -mail: user01@external.com -mail: user02@external.com -memberofgroup: demolist@demo.iredmail.org -objectclass: mailExternalUser -``` - -__IMPORTANT NOTE__: If you don't have any mail list member, Postfix will report error like below: - -``` -Aug 1 15:45:42 mail postfix/smtpd[6024]: NOQUEUE: reject: RCPT from unknown[1.1.1.1]: 550 5.1.1 -: Recipient address rejected: User unknown in virtual mailbox table; from= - to= proto=ESMTP helo=<[2.2.2.2]> -``` - -## Mail list access policies - -You can restrict who can send email to this mailing list by adding LDAP attribute `accessPolicy`. For example: - -``` -dn: mail=demolist@demo.iredmail.org,ou=Groups,domainName=demo.iredmail.org,o=domains,dc=iredmail,dc=org -accesspolicy: domain -... -``` - -This access restriction is implemented in iRedAPD (a simple Postfix policy -server), iRedMail has it enabled by default. - -Available access policies are: - -* `public`: no restrictions. -* `domain`: all users under same domain are allowed to send email to this mail list. -* `subdomain`: all users under same domain and sub-domains are allowed to send email to this mail list. -* `membersOnly`: only members of this mail list are allowd. -* `moderatorsOnly`: only moderators of this mail list are allowed. -* `memebersAndModeratorsOnly`: only members and moderators of this mail list are allowed. +# LDAP: Add a mail list account + +## Add mail list with iRedAdmin-Pro + +With iRedAdmin-Pro, you can easily add mail list account by click menu: +`Add -> Mail List` in main navigation bar. + +## Add mail list with phpLDAPadmin + +* Login to phpLDAPadmin (httpS://[your_server]/phpldapadmin/) +* Expand LDAP tree in left panel, find `ou=Groups` under your domain dn. +* Click `ou=Groups` in left panel, then click `Create a child entry` in right +panel. Screenshot: + +[](http://screenshots.iredmail.googlecode.com/hg/iredmail/phpldapadmin/create_maillist_ou_groups.png) +* Choose `mailList` in `ObjectClasses` list, then click `Proceed`. +* Select `mail` as RDN, fill necessary values of attributes: + +``` +dn: mail=demolist@demo.iredmail.org,ou=Groups,domainName=demo.iredmail.org,o=domains,dc=iredmail,dc=org +accountStatus: active +cn: demolist +enabledService: mail +enabledService: deliver +enabledService: displayedInGlobalAddressBook +mail: demolist@demo.iredmail.org +objectClass: mailList +``` + +Now switch to `ou=Users` under you domain LDAP dn in left panel. + +* Expand `ou=Users` in left panel. +* Find user account which you want to assign to new mail list we created above. +* Click user account in left panel. +* If attribute `memberOfGroup` exists in right panel: + * click `Add value` under it and fill mail address of our new mail list. For example: `demolist@demo.iredmail.org` + * Click `Update Object` to save settings. +* If attribute `memberOfGroup` doesn't exist in right panel: + * Click `Add new attribute` in right panel + * Choose `memberOfGroup` in drop-down list. + * Fill mail address of our new mail list. + * Click `Update Object` to save settings. + +You can add as many `memberOfGroup=xxx` as you want, which means this user is assigned to many mail lists. + +Here's sample to add external users as mail list members: + +``` +dn: memberOfGroup=demolist@demo.iredmail.org,ou=Externals,domainName=demo.iredmail.org,o=domains,dc=iredmail,dc=org +accountstatus: active +enabledservice: mail +enabledservice: deliver +mail: user01@external.com +mail: user02@external.com +memberofgroup: demolist@demo.iredmail.org +objectclass: mailExternalUser +``` + +__IMPORTANT NOTE__: If you don't have any mail list member, Postfix will report error like below: + +``` +Aug 1 15:45:42 mail postfix/smtpd[6024]: NOQUEUE: reject: RCPT from unknown[1.1.1.1]: 550 5.1.1 +: Recipient address rejected: User unknown in virtual mailbox table; from= + to= proto=ESMTP helo=<[2.2.2.2]> +``` + +## Mail list access policies + +You can restrict who can send email to this mailing list by adding LDAP attribute `accessPolicy`. For example: + +``` +dn: mail=demolist@demo.iredmail.org,ou=Groups,domainName=demo.iredmail.org,o=domains,dc=iredmail,dc=org +accesspolicy: domain +... +``` + +This access restriction is implemented in iRedAPD (a simple Postfix policy +server), iRedMail has it enabled by default. + +Available access policies are: + +* `public`: no restrictions. +* `domain`: all users under same domain are allowed to send email to this mail list. +* `subdomain`: all users under same domain and sub-domains are allowed to send email to this mail list. +* `membersOnly`: only members of this mail list are allowd. +* `moderatorsOnly`: only moderators of this mail list are allowed. +* `memebersAndModeratorsOnly`: only members and moderators of this mail list are allowed. diff --git a/4-howto/ldap.user.mail.forwarding.md b/4-howto/ldap.user.mail.forwarding.md index 36a53bdb..877be0ff 100644 --- a/4-howto/ldap.user.mail.forwarding.md +++ b/4-howto/ldap.user.mail.forwarding.md @@ -1,38 +1,38 @@ -# LDAP: User mail forwarding. - -## Set mail forwarding with iRedAdmin-Pro - -With iRedAdmin-Pro, you can simply add mail forwarding addresses in user -profile page, under tab `Forwarding`. - -Screenshot: - -![](http://www.iredmail.org/images/iredadmin/user_profile_mail_forwarding.png) - -## Set mail forwarding with phpLDAPadmin - -To forward emails to other email addresses, you can add value in LDAP attribute -`mailForwardingAddress` of user object. - -For example, if you want to forward all emails sent to `user@domain.ltd` to -two addresses: `forward@domain.ltd`, `user@gmail.com`. Steps: - -1. Login to phpLDAPadmin (https://[your_server]/phpldapadmin ) as LDAP root dn -`cn=Manager,dc=xx,dc=xx` or 'cn=vmailadmin,dc=xx,dc=xx'. - -1. Find the LDAP object of email account which you want to forward emails in -left panel of phpLDAPadmin, click the ldap object, phpLDAPadmin will show you -detailed LDAP attributes/values in right panel. - -1. Add a new LDAP attribute `mailForwardingAddress` to this mail account, set -value to first forwarding address `forward@domain.ltd`. - -1. Repeat step #3, add another email address: `user@gmail.com`. - -1. Save your changes. - -Now all emails sent to `user@domain.ltd` will be forwarded to both -`forward@domain.ltd` and `user@gmail.com`. - -If you want to save a copy of forwarded email, please add 'user@domain.ltd' as addition value of LDAP attribute 'mailForwardingAddress'. - +# LDAP: User mail forwarding. + +## Set mail forwarding with iRedAdmin-Pro + +With iRedAdmin-Pro, you can simply add mail forwarding addresses in user +profile page, under tab `Forwarding`. + +Screenshot: + +![](http://www.iredmail.org/images/iredadmin/user_profile_mail_forwarding.png) + +## Set mail forwarding with phpLDAPadmin + +To forward emails to other email addresses, you can add value in LDAP attribute +`mailForwardingAddress` of user object. + +For example, if you want to forward all emails sent to `user@domain.ltd` to +two addresses: `forward@domain.ltd`, `user@gmail.com`. Steps: + +1. Login to phpLDAPadmin (https://[your_server]/phpldapadmin ) as LDAP root dn +`cn=Manager,dc=xx,dc=xx` or 'cn=vmailadmin,dc=xx,dc=xx'. + +1. Find the LDAP object of email account which you want to forward emails in +left panel of phpLDAPadmin, click the ldap object, phpLDAPadmin will show you +detailed LDAP attributes/values in right panel. + +1. Add a new LDAP attribute `mailForwardingAddress` to this mail account, set +value to first forwarding address `forward@domain.ltd`. + +1. Repeat step #3, add another email address: `user@gmail.com`. + +1. Save your changes. + +Now all emails sent to `user@domain.ltd` will be forwarded to both +`forward@domain.ltd` and `user@gmail.com`. + +If you want to save a copy of forwarded email, please add 'user@domain.ltd' as addition value of LDAP attribute 'mailForwardingAddress'. + diff --git a/4-howto/recalculate.mailbox.quota.md b/4-howto/recalculate.mailbox.quota.md index de464ed7..fe9a56c1 100644 --- a/4-howto/recalculate.mailbox.quota.md +++ b/4-howto/recalculate.mailbox.quota.md @@ -1,25 +1,25 @@ -# Force Dovecot to recalculate mailbox quota - -iRedMail enables dict quota since iRedMail-0.7.0, dict quota is recalculated -only if the quota goes below zero - -* For MySQL and PostgreSQL backend: - -``` -mysql> USE vmail; -mysql> DELETE FROM used_quota WHERE username='user@domain.ltd'; -``` - -* For OpenLDAP backend: - -``` -mysql> USE iredadmin; -mysql> DELETE FROM used_quota WHERE username='user@domain.ltd'; -``` - -Re-login via POP3/IMAP (or webmail) will trigger Dovecot to recalculate mailbox -quota. - -__TIP__: it's safe to delete records in SQL table `used_quota` if mail user -was deleted in table `vmail.mailbox` or LDAP. iRedAdmin-Pro will handle this -for you automatically. +# Force Dovecot to recalculate mailbox quota + +iRedMail enables dict quota since iRedMail-0.7.0, dict quota is recalculated +only if the quota goes below zero + +* For MySQL and PostgreSQL backend: + +``` +mysql> USE vmail; +mysql> DELETE FROM used_quota WHERE username='user@domain.ltd'; +``` + +* For OpenLDAP backend: + +``` +mysql> USE iredadmin; +mysql> DELETE FROM used_quota WHERE username='user@domain.ltd'; +``` + +Re-login via POP3/IMAP (or webmail) will trigger Dovecot to recalculate mailbox +quota. + +__TIP__: it's safe to delete records in SQL table `used_quota` if mail user +was deleted in table `vmail.mailbox` or LDAP. iRedAdmin-Pro will handle this +for you automatically. diff --git a/4-howto/sql.create.mail.alias.md b/4-howto/sql.create.mail.alias.md index fece956b..034248b0 100644 --- a/4-howto/sql.create.mail.alias.md +++ b/4-howto/sql.create.mail.alias.md @@ -1,20 +1,20 @@ -# SQL: Create an mail alias account with SQL command line - -To create an mail alias account, you can simply insert a SQL record in table -`vmail.alias`. For example: - -```mysql -sql> USE vmail; -sql> INSERT INTO alias (address, goto, domain) \ - VALUES ('original@example.com', \ - 'user1@example.com,user2@example.com,user1@test.com', \ - 'example.com'); -``` - -__NOTES__: - -* Please always use lower cases for email addresses. -* Please separated multiple destination addresses by comma. -* If destination address is a user under domain which is hosted on localhost, - it must exist. Otherwise emails sent to alias account will be bounced after - expanded to destination addresses. +# SQL: Create an mail alias account with SQL command line + +To create an mail alias account, you can simply insert a SQL record in table +`vmail.alias`. For example: + +```mysql +sql> USE vmail; +sql> INSERT INTO alias (address, goto, domain) \ + VALUES ('original@example.com', \ + 'user1@example.com,user2@example.com,user1@test.com', \ + 'example.com'); +``` + +__NOTES__: + +* Please always use lower cases for email addresses. +* Please separated multiple destination addresses by comma. +* If destination address is a user under domain which is hosted on localhost, + it must exist. Otherwise emails sent to alias account will be bounced after + expanded to destination addresses. diff --git a/9-troubleshooting/turn.on.debug.mode.in.amavisd.md b/9-troubleshooting/turn.on.debug.mode.in.amavisd.md index 47919ce3..e4833273 100644 --- a/9-troubleshooting/turn.on.debug.mode.in.amavisd.md +++ b/9-troubleshooting/turn.on.debug.mode.in.amavisd.md @@ -1,13 +1,13 @@ -# Turn on debug mode in Amavisd - -In Amavisd config file `/etc/amavisd/amavisd.conf`, change `$log_level`, then restart amavis service. - -``` -$log_level = 5; # verbosity 0..5, -d -``` - -If you want to debug SpamAssassin, please update `$sa_debug` also: - -``` -$sa_debug = 1; -``` +# Turn on debug mode in Amavisd + +In Amavisd config file `/etc/amavisd/amavisd.conf`, change `$log_level`, then restart amavis service. + +``` +$log_level = 5; # verbosity 0..5, -d +``` + +If you want to debug SpamAssassin, please update `$sa_debug` also: + +``` +$sa_debug = 1; +``` diff --git a/9-troubleshooting/turn.on.debug.mode.in.openldap.md b/9-troubleshooting/turn.on.debug.mode.in.openldap.md index 1d8bee99..18b01a4e 100644 --- a/9-troubleshooting/turn.on.debug.mode.in.openldap.md +++ b/9-troubleshooting/turn.on.debug.mode.in.openldap.md @@ -1,13 +1,13 @@ -# Turn on debug mode in OpenLDAP - -In OpenLDAP config file `slapd.conf`, update parameter `loglevel` to value `256`, then restart OpenLDAP service. - -* On RHEL/CentOS and OpenBSD, it's `/etc/openldap/slapd.conf` -* On Debian/Ubuntu, it's `/etc/ldap/slapd.conf` -* On FreeBSD, it's `/usr/local/etc/openldap/slapd.conf` - -``` -loglevel 256 -``` - -OpenLDAP is configured by iRedMail to log into `/var/log/openldap.log` by default. +# Turn on debug mode in OpenLDAP + +In OpenLDAP config file `slapd.conf`, update parameter `loglevel` to value `256`, then restart OpenLDAP service. + +* On RHEL/CentOS and OpenBSD, it's `/etc/openldap/slapd.conf` +* On Debian/Ubuntu, it's `/etc/ldap/slapd.conf` +* On FreeBSD, it's `/usr/local/etc/openldap/slapd.conf` + +``` +loglevel 256 +``` + +OpenLDAP is configured by iRedMail to log into `/var/log/openldap.log` by default. diff --git a/README.md b/README.md index 641184c8..36d7dc11 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,19 @@ - +We're working on migrating [old wiki documents](http://www.iredmail.org/wiki) to Markdown format for easier maintenance. # How to -* [Allow user to send email without authentication ](src/default/4-howto/allow.user.to.send.email.without.authentication.md) +* [Allow user to send email without authentication](src/default/4-howto/allow.user.to.send.email.without.authentication.md) * [Amavisd + SpamAssassin not working, no mail header (X-Spam-*) inserted.](src/default/4-howto/amavisd.no.x-spam.headers.md) * [Completely disable Amavisd + ClamAV + SpamAssassin](src/default/4-howto/completely.disable.amavisd.clamav.spamassassin.md) * [Configure Thunderbird as mail client (IMAP, SMTP and global ldap address book)](src/default/4-howto/configure.thunderbird.md) * [Disable spam virus scanning for outgoing mails](src/default/4-howto/disable.spam.virus.scanning.for.outgoing.mails.md) * [Enable SMTPS service (SMTP over SSL, port 465)](src/default/4-howto/enable.smtps.md) -* [LDAP: Add an alias domain ](src/default/4-howto/ldap.add.alias.domain.md) -* [LDAP: Add a mail alias account ](src/default/4-howto/ldap.add.mail.alias.md) -* [LDAP: Add a mail list account ](src/default/4-howto/ldap.add.mail.list.md) -* [LDAP: User mail forwarding. ](src/default/4-howto/ldap.user.mail.forwarding.md) +* [LDAP: Add an alias domain](src/default/4-howto/ldap.add.alias.domain.md) +* [LDAP: Add a mail alias account](src/default/4-howto/ldap.add.mail.alias.md) +* [LDAP: Add a mail list account](src/default/4-howto/ldap.add.mail.list.md) +* [LDAP: User mail forwarding.](src/default/4-howto/ldap.user.mail.forwarding.md) * [Pipe incoming email for certain user to external script ](src/default/4-howto/pipe.incoming.email.for.certain.user.to.external.script.md) * [Quarantine clean mail into SQL database](src/default/4-howto/quarantining.clean.mail.md) -* [Force Dovecot to recalculate mailbox quota ](src/default/4-howto/recalculate.mailbox.quota.md) -* [SQL: Create an mail alias account with SQL command line ](src/default/4-howto/sql.create.mail.alias.md) +* [Force Dovecot to recalculate mailbox quota](src/default/4-howto/recalculate.mailbox.quota.md) +* [SQL: Create an mail alias account with SQL command line](src/default/4-howto/sql.create.mail.alias.md) * [Store SpamAssassin bayes in SQL](src/default/4-howto/store.spamassassin.bayes.in.sql.md) * [Perform silent/unattended iRedMail installation](src/default/4-howto/unattended.iredmail.installation.md) # Third-party integrations. @@ -23,9 +23,9 @@ # Backup and Restore * [How to migrate old iRedMail server to the latest stable release](src/default/7-backup-restore/migrate.to.new.iredmail.server.md) # Troubleshooting and Debug -* [Turn on debug mode in Amavisd ](src/default/9-troubleshooting/turn.on.debug.mode.in.amavisd.md) +* [Turn on debug mode in Amavisd](src/default/9-troubleshooting/turn.on.debug.mode.in.amavisd.md) * [Turn on debug mode in Dovecot](src/default/9-troubleshooting/turn.on.debug.mode.in.dovecot.md) -* [Turn on debug mode in OpenLDAP ](src/default/9-troubleshooting/turn.on.debug.mode.in.openldap.md) +* [Turn on debug mode in OpenLDAP](src/default/9-troubleshooting/turn.on.debug.mode.in.openldap.md) # Frequently Asked Questions * [Password hashes](src/default/99-faq/password.hashes.md) * [Why append timestamp in maildir path](src/default/99-faq/why.append.timestamp.in.maildir.path.md) diff --git a/SUMMARY.md b/SUMMARY.md index 26039721..716338e2 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -58,3 +58,123 @@ # Frequently Asked Questions * [Password hashes](faq/password.hashes.md) * [Why append timestamp in maildir path](faq/why.append.timestamp.in.maildir.path.md) +# How to +* [Allow user to send email without authentication ](howto/allow.user.to.send.email.without.authentication.md) +* [Amavisd + SpamAssassin not working, no mail header (X-Spam-*) inserted.](howto/amavisd.no.x-spam.headers.md) +* [Completely disable Amavisd + ClamAV + SpamAssassin](howto/completely.disable.amavisd.clamav.spamassassin.md) +* [Configure Thunderbird as mail client (IMAP, SMTP and global ldap address book)](howto/configure.thunderbird.md) +* [Disable spam virus scanning for outgoing mails](howto/disable.spam.virus.scanning.for.outgoing.mails.md) +* [Enable SMTPS service (SMTP over SSL, port 465)](howto/enable.smtps.md) +* [LDAP: Add an alias domain ](howto/ldap.add.alias.domain.md) +* [LDAP: Add a mail alias account ](howto/ldap.add.mail.alias.md) +* [LDAP: Add a mail list account ](howto/ldap.add.mail.list.md) +* [LDAP: User mail forwarding. ](howto/ldap.user.mail.forwarding.md) +* [Pipe incoming email for certain user to external script ](howto/pipe.incoming.email.for.certain.user.to.external.script.md) +* [Quarantine clean mail into SQL database](howto/quarantining.clean.mail.md) +* [Force Dovecot to recalculate mailbox quota ](howto/recalculate.mailbox.quota.md) +* [SQL: Create an mail alias account with SQL command line ](howto/sql.create.mail.alias.md) +* [Store SpamAssassin bayes in SQL](howto/store.spamassassin.bayes.in.sql.md) +* [Perform silent/unattended iRedMail installation](howto/unattended.iredmail.installation.md) +# Third-party integrations. +* [How to install SOGo on CentOS 6 with iRedMail (MySQL backend)](integrations/sogo-centos-6-mysql.md) +# Cluster solutions +* [An Ultra-HA, full Mult-Master E-mail cluster with iRedMail, MariaDB, and IPVS ](cluster/full.mult-master.iredmail.cluster.with.mariadb.and.ipvs.md) +# Backup and Restore +* [How to migrate old iRedMail server to the latest stable release](backup-restore/migrate.to.new.iredmail.server.md) +# Troubleshooting and Debug +* [Turn on debug mode in Amavisd ](troubleshooting/turn.on.debug.mode.in.amavisd.md) +* [Turn on debug mode in Dovecot](troubleshooting/turn.on.debug.mode.in.dovecot.md) +* [Turn on debug mode in OpenLDAP ](troubleshooting/turn.on.debug.mode.in.openldap.md) +# Frequently Asked Questions +* [Password hashes](faq/password.hashes.md) +* [Why append timestamp in maildir path](faq/why.append.timestamp.in.maildir.path.md) +# How to +* [Allow user to send email without authentication ](howto/allow.user.to.send.email.without.authentication.md) +* [Amavisd + SpamAssassin not working, no mail header (X-Spam-*) inserted.](howto/amavisd.no.x-spam.headers.md) +* [Completely disable Amavisd + ClamAV + SpamAssassin](howto/completely.disable.amavisd.clamav.spamassassin.md) +* [Configure Thunderbird as mail client (IMAP, SMTP and global ldap address book)](howto/configure.thunderbird.md) +* [Disable spam virus scanning for outgoing mails](howto/disable.spam.virus.scanning.for.outgoing.mails.md) +* [Enable SMTPS service (SMTP over SSL, port 465)](howto/enable.smtps.md) +* [LDAP: Add an alias domain ](howto/ldap.add.alias.domain.md) +* [LDAP: Add a mail alias account ](howto/ldap.add.mail.alias.md) +* [LDAP: Add a mail list account ](howto/ldap.add.mail.list.md) +* [LDAP: User mail forwarding. ](howto/ldap.user.mail.forwarding.md) +* [Pipe incoming email for certain user to external script ](howto/pipe.incoming.email.for.certain.user.to.external.script.md) +* [Quarantine clean mail into SQL database](howto/quarantining.clean.mail.md) +* [Force Dovecot to recalculate mailbox quota ](howto/recalculate.mailbox.quota.md) +* [SQL: Create an mail alias account with SQL command line ](howto/sql.create.mail.alias.md) +* [Store SpamAssassin bayes in SQL](howto/store.spamassassin.bayes.in.sql.md) +* [Perform silent/unattended iRedMail installation](howto/unattended.iredmail.installation.md) +# Third-party integrations. +* [How to install SOGo on CentOS 6 with iRedMail (MySQL backend)](integrations/sogo-centos-6-mysql.md) +# Cluster solutions +* [An Ultra-HA, full Mult-Master E-mail cluster with iRedMail, MariaDB, and IPVS ](cluster/full.mult-master.iredmail.cluster.with.mariadb.and.ipvs.md) +# Backup and Restore +* [How to migrate old iRedMail server to the latest stable release](backup-restore/migrate.to.new.iredmail.server.md) +# Troubleshooting and Debug +* [Turn on debug mode in Amavisd ](troubleshooting/turn.on.debug.mode.in.amavisd.md) +* [Turn on debug mode in Dovecot](troubleshooting/turn.on.debug.mode.in.dovecot.md) +* [Turn on debug mode in OpenLDAP ](troubleshooting/turn.on.debug.mode.in.openldap.md) +# Frequently Asked Questions +* [Password hashes](faq/password.hashes.md) +* [Why append timestamp in maildir path](faq/why.append.timestamp.in.maildir.path.md) +# How to +* [Allow user to send email without authentication](howto/allow.user.to.send.email.without.authentication.md) +* [Amavisd + SpamAssassin not working, no mail header (X-Spam-*) inserted.](howto/amavisd.no.x-spam.headers.md) +* [Completely disable Amavisd + ClamAV + SpamAssassin](howto/completely.disable.amavisd.clamav.spamassassin.md) +* [Configure Thunderbird as mail client (IMAP, SMTP and global ldap address book)](howto/configure.thunderbird.md) +* [Disable spam virus scanning for outgoing mails](howto/disable.spam.virus.scanning.for.outgoing.mails.md) +* [Enable SMTPS service (SMTP over SSL, port 465)](howto/enable.smtps.md) +* [LDAP: Add an alias domain](howto/ldap.add.alias.domain.md) +* [LDAP: Add a mail alias account](howto/ldap.add.mail.alias.md) +* [LDAP: Add a mail list account](howto/ldap.add.mail.list.md) +* [LDAP: User mail forwarding.](howto/ldap.user.mail.forwarding.md) +* [Pipe incoming email for certain user to external script ](howto/pipe.incoming.email.for.certain.user.to.external.script.md) +* [Quarantine clean mail into SQL database](howto/quarantining.clean.mail.md) +* [Force Dovecot to recalculate mailbox quota](howto/recalculate.mailbox.quota.md) +* [SQL: Create an mail alias account with SQL command line](howto/sql.create.mail.alias.md) +* [Store SpamAssassin bayes in SQL](howto/store.spamassassin.bayes.in.sql.md) +* [Perform silent/unattended iRedMail installation](howto/unattended.iredmail.installation.md) +# Third-party integrations. +* [How to install SOGo on CentOS 6 with iRedMail (MySQL backend)](integrations/sogo-centos-6-mysql.md) +# Cluster solutions +* [An Ultra-HA, full Mult-Master E-mail cluster with iRedMail, MariaDB, and IPVS ](cluster/full.mult-master.iredmail.cluster.with.mariadb.and.ipvs.md) +# Backup and Restore +* [How to migrate old iRedMail server to the latest stable release](backup-restore/migrate.to.new.iredmail.server.md) +# Troubleshooting and Debug +* [Turn on debug mode in Amavisd](troubleshooting/turn.on.debug.mode.in.amavisd.md) +* [Turn on debug mode in Dovecot](troubleshooting/turn.on.debug.mode.in.dovecot.md) +* [Turn on debug mode in OpenLDAP](troubleshooting/turn.on.debug.mode.in.openldap.md) +# Frequently Asked Questions +* [Password hashes](faq/password.hashes.md) +* [Why append timestamp in maildir path](faq/why.append.timestamp.in.maildir.path.md) +# How to +* [Allow user to send email without authentication](howto/allow.user.to.send.email.without.authentication.md) +* [Amavisd + SpamAssassin not working, no mail header (X-Spam-*) inserted.](howto/amavisd.no.x-spam.headers.md) +* [Completely disable Amavisd + ClamAV + SpamAssassin](howto/completely.disable.amavisd.clamav.spamassassin.md) +* [Configure Thunderbird as mail client (IMAP, SMTP and global ldap address book)](howto/configure.thunderbird.md) +* [Disable spam virus scanning for outgoing mails](howto/disable.spam.virus.scanning.for.outgoing.mails.md) +* [Enable SMTPS service (SMTP over SSL, port 465)](howto/enable.smtps.md) +* [LDAP: Add an alias domain](howto/ldap.add.alias.domain.md) +* [LDAP: Add a mail alias account](howto/ldap.add.mail.alias.md) +* [LDAP: Add a mail list account](howto/ldap.add.mail.list.md) +* [LDAP: User mail forwarding.](howto/ldap.user.mail.forwarding.md) +* [Pipe incoming email for certain user to external script ](howto/pipe.incoming.email.for.certain.user.to.external.script.md) +* [Quarantine clean mail into SQL database](howto/quarantining.clean.mail.md) +* [Force Dovecot to recalculate mailbox quota](howto/recalculate.mailbox.quota.md) +* [SQL: Create an mail alias account with SQL command line](howto/sql.create.mail.alias.md) +* [Store SpamAssassin bayes in SQL](howto/store.spamassassin.bayes.in.sql.md) +* [Perform silent/unattended iRedMail installation](howto/unattended.iredmail.installation.md) +# Third-party integrations. +* [How to install SOGo on CentOS 6 with iRedMail (MySQL backend)](integrations/sogo-centos-6-mysql.md) +# Cluster solutions +* [An Ultra-HA, full Mult-Master E-mail cluster with iRedMail, MariaDB, and IPVS ](cluster/full.mult-master.iredmail.cluster.with.mariadb.and.ipvs.md) +# Backup and Restore +* [How to migrate old iRedMail server to the latest stable release](backup-restore/migrate.to.new.iredmail.server.md) +# Troubleshooting and Debug +* [Turn on debug mode in Amavisd](troubleshooting/turn.on.debug.mode.in.amavisd.md) +* [Turn on debug mode in Dovecot](troubleshooting/turn.on.debug.mode.in.dovecot.md) +* [Turn on debug mode in OpenLDAP](troubleshooting/turn.on.debug.mode.in.openldap.md) +# Frequently Asked Questions +* [Password hashes](faq/password.hashes.md) +* [Why append timestamp in maildir path](faq/why.append.timestamp.in.maildir.path.md) diff --git a/convert.sh b/convert.sh index bf66bf52..a9e2d2d5 100644 --- a/convert.sh +++ b/convert.sh @@ -42,8 +42,9 @@ all_chapter_dirs="$(find . -d 1 -type d -iname '[0-9]*' | sort)" # Get chapter info # - title: _title.md # - summary: _summary.md -echo '' > ${INDEX_MD} -echo '' > ${README_MD} +echo "We're working on migrating [old wiki documents](http://www.iredmail.org/wiki) to Markdown format for easier maintenance." > ${INDEX_MD} +echo "We're working on migrating [old wiki documents](http://www.iredmail.org/wiki) to Markdown format for easier maintenance." > ${README_MD} + for chapter_dir in ${all_chapter_dirs}; do # Get articles all_chapter_articles="$(find ${chapter_dir} -depth 1 -type f -iname '[0-9a-z]*.md')" diff --git a/html/index.html b/html/index.html index 319b4c6f..7171abf7 100644 --- a/html/index.html +++ b/html/index.html @@ -8,29 +8,23 @@

How to

+

We're working on migrating old wiki documents to Markdown format for easier maintenance.

+

How to

@@ -48,11 +42,9 @@

Troubleshooting and Debug

Frequently Asked Questions

    diff --git a/ignore.trash.folder.in.quota.md b/ignore.trash.folder.in.quota.md index c376251a..6e5a4a9d 100644 --- a/ignore.trash.folder.in.quota.md +++ b/ignore.trash.folder.in.quota.md @@ -1,19 +1,19 @@ - -# How to ignore Trash folder in mailbox quota - -Quota\_rule is overrode in `/etc/dovecot/dovecot-mysql.conf` or `/etc/dovecot/dovecot-ldap.conf`, so please change them instead. If no per-user quota rules found, Dovecot will use 'quota_ruleX' in dovecot.conf. - -For example, with OpenLDAP backend, you have `/etc/dovecot/dovecot-ldap.conf`, update it with 'Trash:ignore' like below: - -
    -user_attrs      = ...,mailQuota=quota_rule=*:bytes=%$,=quota_rule2=Trash:ignore
    -
    - -With MySQL backend, update `/etc/dovecot/dovecot-mysql.conf`: - -
    -user_query = SELECT ... \
    -                   CONCAT('*:bytes=', mailbox.quota*1048576) AS quota_rule \
    -                   'Trash:ignore' AS quota_rule2 \
    -                   FROM ...
    -
    + +# How to ignore Trash folder in mailbox quota + +Quota\_rule is overrode in `/etc/dovecot/dovecot-mysql.conf` or `/etc/dovecot/dovecot-ldap.conf`, so please change them instead. If no per-user quota rules found, Dovecot will use 'quota_ruleX' in dovecot.conf. + +For example, with OpenLDAP backend, you have `/etc/dovecot/dovecot-ldap.conf`, update it with 'Trash:ignore' like below: + +
    +user_attrs      = ...,mailQuota=quota_rule=*:bytes=%$,=quota_rule2=Trash:ignore
    +
    + +With MySQL backend, update `/etc/dovecot/dovecot-mysql.conf`: + +
    +user_query = SELECT ... \
    +                   CONCAT('*:bytes=', mailbox.quota*1048576) AS quota_rule \
    +                   'Trash:ignore' AS quota_rule2 \
    +                   FROM ...
    +
    diff --git a/monitor.incoming.and.outgoing.mails.with.bcc.md b/monitor.incoming.and.outgoing.mails.with.bcc.md index 9c255c12..826dd923 100644 --- a/monitor.incoming.and.outgoing.mails.with.bcc.md +++ b/monitor.incoming.and.outgoing.mails.with.bcc.md @@ -1,61 +1,61 @@ - -# Monitor incoming and outgoing mails with BCC - -[TOC] - -This tutorial describes how to configure your iRedMail server (OpenLDAP backend) to monitor incoming and outgoing mails with BCC, via iRedAdmin-Pro or phpLDAPadmin. - -# Configure BCC with iRedAdmin-Pro - -With iRedAdmin-Pro, you can configure BCC easily: -## Per-domain BCC settings - -Go to domain profile page, then you can enable sender bcc or recipient bcc in tab `BCC`. - -Screenshot: -![](http://screenshots.iredmail.googlecode.com/hg/iredadmin/domain_profile_bcc.png) - -## Per-user BCC settings - -Go to user profile page, then you can enable sender bcc or recipient bcc in tab 'Advanced'. - -Screenshot: -![](http://screenshots.iredmail.googlecode.com/hg/iredadmin/user_profile_bcc.png) - -# Configure BCC with phpLDAPadmin - -## Per-domain BCC settings - -* Login to phpLDAPadmin first. - * it's accessible via URL http__S__://your_server.com/phpldapadmin/ - * You can find root dn (cn=Manager,dc=xx,dc=xx) or `cn=vmailadmin,dc=xx,dc=xx` in root directory of iRedMail installation directory, e.g. `/root/iRedMail-0.7.2/iRedMail.tips`. - -* Expand LDAP tree in left panel, find the domain you want to configure BCC settings. e.g. domainName=example.com. - * phpLDAPadmin will ask you __Select a template to edit the entry__ in right panel, just select __Default__. - -* phpLDAPadmin will show you all currently assigned LDAP attributes and values in right panel, now click link `Add new attribute` in top-right panel to add BCC related attributes: - * __domainSenderBccAddress__: Used to store email address for sender bcc, all outgoing mails will be BCCed to this email address. - * __WARNING__: Multiple email addresses is __NOT__ supported. - * __domainRecipientBccAddress__: Used to store email address for recipient bcc, all incoming mails will be BCCed to this email address. - * __WARNING__: Multiple email addresses is __NOT__ supported. - -* Make sure you have __senderbcc__ and/or __recipientbcc__ as value of attribute __enabledService__, otherwise BCC won't work at all. - -## Per-user BCC settings - -It's same as per-domain BCC settings. Below are steps: - -* Login to phpLDAPadmin first. - * it's accessible via URL http__S__://your_server.com/phpldapadmin/ - * You can find root dn (cn=Manager,dc=xx,dc=xx) or `cn=vmailadmin,dc=xx,dc=xx` in root directory of iRedMail installation directory, e.g. `/root/iRedMail-0.7.2/iRedMail.tips`. - -* Expand LDAP tree in left panel, find the user you want to configure BCC settings. e.g. `mail=user@example.com`. - * phpLDAPadmin will ask you __Select a template to edit the entry__ in right panel, just select __Default__. - -* phpLDAPadmin will show you all currently assigned LDAP attributes and values in right panel, now click link `Add new attribute` in top-right panel to add BCC related attributes: - * __userSenderBccAddress__: Used to store email address for sender bcc, all outgoing mails will be BCCed to this email address. - * __WARNING__: Multiple email addresses is __NOT__ supported. - * __userRecipientBccAddress__: Used to store email address for recipient bcc, all incoming mails will be BCCed to this email address. - * __WARNING__: Multiple email addresses is __NOT__ supported. - -* Make sure you have __senderbcc__ and/or __recipientbcc__ as value of attribute __enabledService__, otherwise BCC won't work at all. + +# Monitor incoming and outgoing mails with BCC + +[TOC] + +This tutorial describes how to configure your iRedMail server (OpenLDAP backend) to monitor incoming and outgoing mails with BCC, via iRedAdmin-Pro or phpLDAPadmin. + +# Configure BCC with iRedAdmin-Pro + +With iRedAdmin-Pro, you can configure BCC easily: +## Per-domain BCC settings + +Go to domain profile page, then you can enable sender bcc or recipient bcc in tab `BCC`. + +Screenshot: +![](http://screenshots.iredmail.googlecode.com/hg/iredadmin/domain_profile_bcc.png) + +## Per-user BCC settings + +Go to user profile page, then you can enable sender bcc or recipient bcc in tab 'Advanced'. + +Screenshot: +![](http://screenshots.iredmail.googlecode.com/hg/iredadmin/user_profile_bcc.png) + +# Configure BCC with phpLDAPadmin + +## Per-domain BCC settings + +* Login to phpLDAPadmin first. + * it's accessible via URL http__S__://your_server.com/phpldapadmin/ + * You can find root dn (cn=Manager,dc=xx,dc=xx) or `cn=vmailadmin,dc=xx,dc=xx` in root directory of iRedMail installation directory, e.g. `/root/iRedMail-0.7.2/iRedMail.tips`. + +* Expand LDAP tree in left panel, find the domain you want to configure BCC settings. e.g. domainName=example.com. + * phpLDAPadmin will ask you __Select a template to edit the entry__ in right panel, just select __Default__. + +* phpLDAPadmin will show you all currently assigned LDAP attributes and values in right panel, now click link `Add new attribute` in top-right panel to add BCC related attributes: + * __domainSenderBccAddress__: Used to store email address for sender bcc, all outgoing mails will be BCCed to this email address. + * __WARNING__: Multiple email addresses is __NOT__ supported. + * __domainRecipientBccAddress__: Used to store email address for recipient bcc, all incoming mails will be BCCed to this email address. + * __WARNING__: Multiple email addresses is __NOT__ supported. + +* Make sure you have __senderbcc__ and/or __recipientbcc__ as value of attribute __enabledService__, otherwise BCC won't work at all. + +## Per-user BCC settings + +It's same as per-domain BCC settings. Below are steps: + +* Login to phpLDAPadmin first. + * it's accessible via URL http__S__://your_server.com/phpldapadmin/ + * You can find root dn (cn=Manager,dc=xx,dc=xx) or `cn=vmailadmin,dc=xx,dc=xx` in root directory of iRedMail installation directory, e.g. `/root/iRedMail-0.7.2/iRedMail.tips`. + +* Expand LDAP tree in left panel, find the user you want to configure BCC settings. e.g. `mail=user@example.com`. + * phpLDAPadmin will ask you __Select a template to edit the entry__ in right panel, just select __Default__. + +* phpLDAPadmin will show you all currently assigned LDAP attributes and values in right panel, now click link `Add new attribute` in top-right panel to add BCC related attributes: + * __userSenderBccAddress__: Used to store email address for sender bcc, all outgoing mails will be BCCed to this email address. + * __WARNING__: Multiple email addresses is __NOT__ supported. + * __userRecipientBccAddress__: Used to store email address for recipient bcc, all incoming mails will be BCCed to this email address. + * __WARNING__: Multiple email addresses is __NOT__ supported. + +* Make sure you have __senderbcc__ and/or __recipientbcc__ as value of attribute __enabledService__, otherwise BCC won't work at all.