iredmail - Version

 

一點一滴, 見證它的成長 ~

 

小弟是由 0.7.0 版加入 iredmail 的大家庭, 以下的 log 取自官網

 

0.8.1

1. postfix virtual transport 的 Path:

mysql/virtual_mailbox_maps.cf

# OLD SETTING
#query       = SELECT CONCAT(mailbox.storagenode, '/', mailbox.maildir) FROM ...

# NEW SETTING
query       = SELECT CONCAT(mailbox.storagenode, '/', mailbox.maildir, '/Maildir/') FROM ...

如果用 Default 的 dovecot 不用理

 

2. BCC 查表的次序

postfix/main.cf

# NEW SETTINGS
recipient_bcc_maps = ......recipient_bcc_maps_user.cf, ......recipient_bcc_maps_domain.cf
sender_bcc_maps = ......sender_bcc_maps_user.cf, ......sender_bcc_maps_domain.cf

 

3. dovecot column (folder sharing: mailbox.enablelib-storage)

dovecot-mysql.conf

 

# NEW SETTING     AND mailbox.`enable%Ls%Lc`=1 \

 

 

4. 新功能: anyone_shares

sql> CREATE TABLE IF NOT EXISTS anyone_shares (
    from_user VARCHAR(255) NOT NULL,
    dummy CHAR(1) DEFAULT '1',
    PRIMARY KEY (from_user)
);

 


 

0.8.0

 

1. Enable greylist

/etc/policyd.conf

OPTINOUT=1
OPTINOUTALL=1

 

2. Roundcube setting

config/main.inc.php

$rcmail_config['login_lc'] = false;             // 不分大小寫
$rcmail_config['force_https'] = true;          // http 自動跳去 https

 

3. dovecot2.x 的 log-rotate

/etc/logrotate.d/dovecot, /etc/logrotate.d/sieve

postrotate
    doveadm log reopen
endscript

 

4. POP3S/IMAPS in Dovecot

ssl = required
disable_plaintext_auth = yes

 

5. Dovecot-2 command: doveadm

mysql> USE vmail;
mysql> ALTER TABLE mailbox ADD COLUMN enabledoveadm TINYINT(1) NOT NULL DEFAULT 1;

 


 

0.7.4

 

1. Dovecot-1.x 的 sieve_dir

# Change to:
sieve_dir = /var/vmail/sieve/%Ld/%Ln              # <-- Remove the last slash.

 

2. Debian 的 Awstats 權限問題:

usermod -g adm www-data

 

3. INDEXes for Amavisd

mysql> USE amavisd;
mysql> ALTER TABLE maddr ADD INDEX maddr_idx_email (email);
mysql> ALTER TABLE maddr ADD INDEX maddr_idx_domain (domain);
mysql> ALTER TABLE msgs ADD INDEX msgs_idx_content (content);
mysql> ALTER TABLE msgs ADD INDEX msgs_idx_content_time_num (content, time_num);
mysql> ALTER TABLE msgs ADD INDEX msgs_idx_mail_id (mail_id);
mysql> ALTER TABLE quarantine ADD INDEX quar_idx_mail_id (mail_id);

 

4. dovecot 的 realtime quota usage 放在獨立的 table

dovecot-used-quota.conf

mysql> USE vmail;
mysql> CREATE TABLE IF NOT EXISTS `used_quota` (
    `username` VARCHAR(255) NOT NULL,
    `bytes` BIGINT NOT NULL DEFAULT 0,
    `messages` BIGINT NOT NULL DEFAULT 0,
    PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 


 

0.7.3

 

為 Dovecot 2.x, 加入了 mailbox.enabledeliver

mysql> USE vmail;
mysql> ALTER TABLE mailbox ADD COLUMN enablelda TINYINT(1) NOT NULL DEFAULT 1;
mysql> ALTER TABLE mailbox ADD INDEX enablelda (enablelda);

 


 

0.7.2

 

1. fail2ban 的 smtp (postfix.iredmail.conf)

failregex = \[<HOST>\]: SASL (PLAIN|LOGIN) authentication failed

 

2. postfix alias domain support

virtual_mailbox_domains.cf

query       = SELECT domain FROM domain WHERE domain='%s' AND backupmx=0 AND active=1
 UNION SELECT alias_domain.alias_domain FROM alias_domain,domain WHERE alias_domain.alias_domain='%s' AND alias_domain.active=1   AND alias_domain.target_domain=domain.domain AND domain.active=1 AND domain.backupmx=0

 

 


 

0.7.1

小弟沒有安裝過

 


0.7.0

沒有由 0.6.1 升上來, 沒有真的經歷過修改

1. 記錄用戶改時改過 PW

plugins/password/config.inc.php

$rcmail_config['password_query'] = "UPDATE vmail.mailbox SET password=%c,passwordlastchange=NOW() WHERE username=%u LIMIT 1";

 

2. 為 vmail database  建立了不少 index

 

3. catch-all account

virtual_alias_maps =
    proxy:mysql:/etc/postfix/mysql/virtual_alias_maps.cf,
    proxy:mysql:/etc/postfix/mysql/domain_alias_maps.cf,
    proxy:mysql:/etc/postfix/catchall_maps.cf,                             # <- Add this line
    proxy:mysql:/etc/postfix/domain_alias_catchall_maps.cf        # <- Add this line.

 

File: catchall_maps.cf

query       = SELECT alias.goto FROM alias,domain WHERE alias.address='%d' AND alias.address=domain.domain
 AND alias.active=1 AND domain.active=1 AND domain.backupmx=0

 

domain_alias_catchall_maps.cf

query       = SELECT alias.goto FROM alias,alias_domain,domain WHERE alias_domain.alias_domain='%d'
 AND alias.address=alias_domain.target_domain AND alias_domain.target_domain=domain.domain
 AND alias.active=1 AND alias_domain.active=1

 

4. backup mx support

 

mysql_domain_alias_maps.cf

query       = SELECT alias.goto FROM alias,alias_domain,domain WHERE alias_domain.alias_domain='%d'
 AND alias.address=CONCAT('%u', '@',     alias_domain.target_domain)
 AND alias_domain.target_domain=domain.domain AND alias.active=1 AND alias_domain.active=1
 AND domain.backupmx=0

 

5. domain status

mysql_virtual_mailbox_maps.cf
mysql_virtual_alias_maps.cf
mysql_transport_maps_user.cf
mysql_sender_login_maps.cf
mysql_recipient_bcc_maps_user.cf
mysql_sender_bcc_maps_user.cf
dovecot-mysql.conf

query       = SELECT .......... ????.active='1'