使用 iRedMail 搭建个人邮件服务
心血来潮(闲的没事干)想为自己博客实现邮件发送功能,但又不是很想用别人的服务,所以准备自己搭建一个邮件服务器。
一些事情
由于种种原因,国内服务商基本上都封禁了25端口,且不能用来发信,而家宽又不可能开25端口,所以我们要找到开放了25端口的vps。听说RackNerd 的机子不封25端口,正好有台他们家洛杉矶DC-02机房的吃灰小鸡,所以拿来试试,直接上图。
先检查我们的IP是否进入了各大邮件厂商的黑名单,下面是两个测试网址。
https://mxtoolbox.com/blacklists.aspx
环境准备
开放了25端口的服务器,内存至少为2G,不然反垃圾进程容易被杀掉(本次教程用centos演示)
域名一枚(推荐.com ,其他后缀极易进入别人的垃圾箱)
服务器支持PTR(rDNS)解析且服务器的ip段相对来说要干净,不然也容易进垃圾箱
安装邮件服务
更新系统和组件
yum update -y
yum install wget curl sudo tar socat bind-utils -y
这里可能会遇到更新失败,自行百度解决方法即可。(好像就是更换到阿里的源)
设置 VPS 主机名
例如我的域名为比biuioi.com
,我们规划mail.biuioi.com
为我们的邮箱域名,现在我们要对服务器的主机名进行设置
打开/etc/hosts
文件,添加以下内容,自行替换自己的域名。
127.0.0.1 mail.biuioi.com mail
打开/etc/hostname
打开后删除所有,只需要打四个字谜字母mail
打完后保存。
reboot重启使设置生效,重启后执行。
hostname
看到mail
代表设置成功,看到其他内容代表设置失败,请重新设置。
执行
hostname -f
看到mail.biuioi.com
代表设置成功,看到其他内容代表设置失败,请重新设置。
安装 iRedMail
目前最新版请去官网查看,截至此教程,最先版为1.6.2,若版本更新,请自行替换下方命令。
wget https://github.com/iredmail/iRedMail/archive/1.6.2.tar.gz -O /root/iRedMail.tar.gz
tar -xf iRedMail.tar.gz
cd iRedMail-1.6.2
bash iRedMail.sh
顺利的话会进入gui安装界面。
由于写此教程的时候我的邮件服务器已经安装并测试完成,所以没有配图。请根据以下文字内容配置。
(回车下一步,空格选择,上下切换选项推出安装Ctrl+C)
-
第一步,欢迎界面,两个选项,yes或no ,直接回车yes。
-
第二部,设置安装目录,这里可以看到安装目录为
/var/vmail
直接回车,下一步。 -
第三步,选择web服务器,此时可以看到
nginx
前面有个星号,这代表已经被选中,如果没有星号,切换到nginx
选项,按一下空格,星号出现,回车下一步。 -
第四步,选择数据库,上下选择到
MariaDB
,空格星号选中,回车下一步。 -
第五步,设置数据库密码,自己设置。
-
第六步,设置域,不带mail,就是biuioi.com。
-
第七步,设置管理员账号的密码,不是设置账号,是密码,自己设置。
-
第八步,选择需要安装的组件,默认即可,那个Sogo可安可不安,都行,不影响邮件服务,回车下一步。
此时会开始跑代码,遇到提示选择y。
安装完成后reboot重启服务器,重启之后,邮件服务器搭建完成。
https://你的域名/mail ——邮件登录地址
https://你的域名/netdata ——服务器状态监控
https://你的域名/iredadmin ——邮件服务器后台管理
管理员账号:postmaster@你的域
管理员密码:安装时候设置的密码
以上信息,可以在 /root/iRedMail-1.6.2/iRedMail.tips 文件中查看
申请证书
你可以选择脚本自动申请,也可以自己去其他地方申请后自己添加。
脚本申请
curl https://get.acme.sh | sh
~/.acme.sh/acme.sh --register-account -m xxxx@xxxx.com
~/.acme.sh/acme.sh --issue -d mail.bozai.us --webroot /var/www/html
~/.acme.sh/acme.sh --installcert -d mail.bozai.us --key-file /etc/pki/tls/private/iRedMail.key --fullchain-file /etc/pki/tls/certs/iRedMail.crt
重启服务
service postfix reload;service dovecot reload;service nginx reload
自己申请
把证书添加到下面两个路径的文件中
/etc/pki/tls/private/iRedMail.key
/etc/pki/tls/certs/iRedMail.crt
重启服务
service postfix reload;service dovecot reload;service nginx reload
此时,重新访问,可以看到证书已生效。
禁用 iRedMail 灰名单
打开文件 /opt/iredapd/settings.py
找到以下内容。
plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]
将其中的 ”greylisting
” 这项删去即可,格式要统一。
重启服务
service iredapd restart
解析域名
PTR解析
到你的服务器提供商哪里,解析内容填mail.biuioi.com
自行替换自己的,我这里不支持自己设置,但可以发工单设置。
检测方式:nslookup 1.1.1.1(替换为你的服务器IP)
设置 A 记录
将 mail.biuioi.com
的 A 记录指向你的 VPS 服务器(邮件服务器)
检测方式:nslookup mail.biuioi.com
设置 MX 记录
类型MX,名称biuioi.com
,邮件服务器mail.biuioi.com
,优先级10
检测方式:nslookup -type=mx biuioi.com
设置 SPF 记录
类型TXT,名称biuioi.com
,内容v=spf1 mx ~all
检测方式:nslookup -type=txt biuioi.com
设置 DKIM记录
打开/root/iRedMail-1.6.2/iRedMail.tips
,选中为以下内容。
把每行开头和结尾的双引号删除,删成下面这样就可以。(具体就是去除引号以及空格并相连)
v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhfQibjrjm5dsvQiUibUfqQl+mgkKsYRSbxyAG4PuaLPbceBK290Lo2YvT9HZUAeO02UzLtoJDFDxcYloQxcVJH5OXoq7jamZ5Q84YRCY378QUdvfG2WlBE13EYMSJvbucN2y3rxLp2H5vA/22FBCpy4LO0hMaHcmeqbKp1HdbT7ugU3HwEcTBpaaYg0rvCyPyGmOmhxElY9iQ9+zry2SOgrcG0Su8Wx0QfJ5XPHPVSdu4YffP9RezAmsIK6S/1A/UbAl9rrmfg1LunGhUwvOwFSYdCLijM7YmDstnpdAYTpLFc9cqfyLsFqQqs+nKDYSmY/e0QtJeSeXFeIrJdx6sQIDAQAB
类型TXT,名称dkim._domainkey
,内容就是上面上面整理后的。
检测方式:nslookup -type=txt dkim._domainkey.biuioi.com
设置 DMARC 记录
类型TXT,名称_dmarc
,内容v=DMARC1; p=none; pct=100; rua=mailto:dmarc@biuioi.com
设置完成,等待域名解析生效。
检测方式:nslookup -type=txt _dmarc.biuioi.com
添加用户及使用
邮件服务器后台可以对用户进行增删改查
mail.biuioi.com可以使用邮件服务器。
邮件得分测试
10分得分为优秀,若不是10分,请根据提示进行优化。
另一些事情
一切都搭建好以后,你会发现你给gmail,qq,163发邮件都能收到,唯独outlook被退信,这是因为你的IP不在outlook邮件服务的白名单中,你需要向他们提供你的IP及相关信息,我这里没有提供,故不作演示
这个网站太戳我的审美了,请问这个字体叫啥?
感谢支持!字体好像是汉仪唐美人体,应该是这个。
多谢大佬!ヾ(´・ ・`。)ノ”