备份换主机的时候直接覆盖配置文件。
需修改的文件:
\dovecot\dovecot-sql.conf.ext 填写数据库账号密码
\exim4\conf.d\main\00_exim4-config_custom  
填写数据库账号密码 
1.安装的软件     apt install exim4-daemon-heavy      apt-get install dovecot-core dovecot-mysql dovecot-imapd dovecot-pop3d    apt install spamassassin        ##安装 webmail ,配置在 /etc/roundcube    apt install roundcube roundcube-plugins roundcube-plugins-extras    打开 端口 ufw allow 25,587,993     禁止25端口出站: ufw deny out 25    修改文件 /etc/exim4/conf.d/main/00_exim4-config_custom    # Reply to HELO/EHLO    primary_hostname = mail.bigoak.cn | bigoak.cn1.禁用文件    cd /etc/exim4/conf.d/auth/    mv 30_exim4-config_examples 30_exim4-config_examples.disabled    3。创建虚拟用户     adduser --disabled-login vmail4.创建 MySQL 表 库为email    CREATE TABLE IF NOT EXISTS `mod_exim4_alias` (    `id` int(11) NOT NULL AUTO_INCREMENT,    `alias` varchar(255) NOT NULL DEFAULT '',    `destination` varchar(255) NOT NULL DEFAULT '',    PRIMARY KEY (`id`)    );    CREATE TABLE IF NOT EXISTS `mod_exim4_relays` (    `id` int(11) NOT NULL AUTO_INCREMENT,    `domain` varchar(200) ,    PRIMARY KEY (`id`),    UNIQUE KEY `domain` (`domain`)    );    CREATE TABLE IF NOT EXISTS mod_exim4_mailboxes (    `id` int(11) NOT NULL AUTO_INCREMENT,    `email` varchar(128) NOT NULL DEFAULT '',    `password` varchar(128) NOT NULL DEFAULT '',    `maildir` varchar(128) NOT NULL DEFAULT '',    PRIMARY KEY (`id`),    UNIQUE KEY `email` (`email`)    );    CREATE TABLE IF NOT EXISTS `mod_exim4_domains` (    `id` int(11) NOT NULL AUTO_INCREMENT,    `domain` varchar(50) DEFAULT NULL,    PRIMARY KEY (`id`)    );5. DKIM    5.1 密钥生成        cd /etc/exim4        openssl genrsa -out exim-dkim.key 1024        openssl rsa -in exim-dkim.key -out exim-dkim.pub -pubout -outform PEM    5.2 添加dns txt 条目,把*** 换成公私,不得有换行        name : _domainkey  值: v=DKIM1; k=rsa; p= ***    5.3 设置spf 填写邮件服务器ip        dns txt        name  @  值 v=spf1 ip4:107.174.253.21  –all##  dovecot 配置部分#6. 要生成用于密钥交换的 Diffie-Hellman 参数,        您可以使用 openssl,但它们必须与 密钥,为此您可以查看证书,在我的情况下为 2048 位。因此, 命令是:dh.pem    设置好 letsencrypt 证书后    openssl dhparam -out /etc/dovecot/dh.pem 20487.spamassassin    编辑 文件 /etc/default/spamd    插入 OPTIONS="--max-children 3 --nouser-config --virtual-config-dir=/home/vmail/.spamassassin -u vmail"    systemctl enable spamd    systemctl start spamd    查看    ss -ltnp8.哈希共享:Pyzor 和 Razor 包含在spamassassin内    apt install pyzor    apt install  razor    文件:/etc/spamassassin/local.cf  添加    skip_rbl_checks         0    use_razor2       1    use_pyzor        1    rbl_timeout             15    pyzor_options --homedir /home/vmail/.spamassassin    razor_config  /home/vmail/.razor/razor-agent.conf    测试 Pyzor    echo "test" | spamassassin -D pyzor    您需要创建该目录并正确设置所有者 到 vmail。然后使用您必须启动 Razor 的 vmail 用户,在 以下脚本演示如何执行此操作:    apt install sudo    sudo -u vmail mkdir /home/vmail/.razor    sudo -u vmail razor-admin -home=/home/vmail/.razor -register    sudo -u vmail razor-admin -home=/home/vmail/.razor -create    sudo -u vmail razor-admin -home=/home/vmail/.razor -discover    测试 Razor    echo "test" | spamassassin -D razor2 2>&1 | less9. DNS 黑名单 / RBL 与 SpamAssassin    文件:/etc/spamassassin/local.cf   插入    skip_rbl_checks         0    rbl_timeout             1510.贝叶斯滤波器 Filtros Bayesianos  【过时了。】    文件:/etc/spamassassin/local.cf    bayes_ignore_header X-Bogosity    bayes_ignore_header X-Spam-Flag    bayes_ignore_header X-Spam-Status    bayes_path /home/vmail/.spamassassin/bayes    要使用这些过滤器,您需要为以下 从某些电子邮件帐户中的两个 Spam-Yes 和 Spam-No 文件夹中进行非机器学习,在我的情况下是系统管理员的。    #############################    #!/bin/sh    # Aprende el spam que esta en los directorios indicados:    SPAM_SI=/home/vmail/web@bigoak.cn/.Spam-Si/cur/    SPAM_NO=/home/vmail/web@bigoak.cn/.Spam-No/cur/    sa-learn --spam $SPAM_SI $1    sa-learn --ham $SPAM_NO $1    ##############################    此脚本必须使用 vmail 用户从 cron 中执行,从而创建 文件。/home/vmail/.spamassassin11.用户帐户维护    必须自动删除 SPAM 文件夹中的旧电子邮件。 此文件夹将无限期填充,因为没有用户清空它。使用 以下脚本将删除超过 N 天的电子邮件:    ########################    #!/bin/bash    # Borra los ficheros en cuarentena de todas las cuentas con 35 días de antigüedad    N=`find /home/vmail -type f -ctime +35 -wholename "*/.Junk/*" | wc -l`    echo "Ficheros de SPAM detectados: $N"    find /home/vmail -type f -ctime +35 -wholename "*/.Junk/*" -exec rm {} \;    ########################12.更新配置文件,重启    dpkg-reconfigure exim4-config    update-exim4.conf    systemctl restart exim4    systemctl restart dovecot13.插入用户数据    INSERT INTO mod_exim4_domains(`id` ,`domain`)VALUES('1', 'bigoak.cn');    INSERT INTO mod_exim4_mailboxes(`id`, `email`, `password`, `maildir` )VALUES('1', 'web@bigoak.cn', MD5('******'), '/bigoak.cn/web@bigoak.cn');需要注意的是,出于安全原因,root 用户不能接收邮件,因此最后一步设置 alias 时,通常设置为日常使用的用户,root 收到的邮件将投递到此用户收件箱内。这些设置体现在 /etc/aliases 中。我们还可以设置当用户收到邮件时,将邮件投递到某个互联网邮箱,例如:root: adminadmin: admin@example.com运行 newaliases 使其生效。当系统收到邮件时(例如 Cron 定时任务),admin@example.com 就可以收到邮件提醒了。
下载:exim4.zip