备份换主机的时候直接覆盖配置文件。
需修改的文件:
\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