0%

自建linux外网邮件服务器

测试过程中经常需要用到第三方的邮箱,而且我们的邮箱很多场景只能用一次,但第三方的邮件平台往往都是有注册量限制的。一番琢磨决定自己搭个外网邮局。

首先吐槽下这个学习过程的曲折,基本的心理过程是:不以为然》一脸懵比》绝望》心如止水。

不以为然

之前在windows server上搭过内网foxmail server,但限定的用户数。于是决定在ubuntu上搞个开源无上限的。

一脸懵比

一番搜索后,发现各种mail server都是基于postfix等等其它开源工具整合的。本着不折腾的原则尝试docker iredmail server、extmail、iredmail各种整合版本的mail server。

绝望

搭好了,但收发不到邮件收发不到邮件收发不到邮件收发不到邮件收发不到邮件收发不到邮件收发不到邮件收发不到邮件

心如止水

最终搞定了MX记录,hostname,也明白了,VPS禁用了22端口。但回头看看,只有‘然并卵’一种感觉。

记录下这个爬坑过程吧

域名解析配置,我是主机屋的域名,MX记录要等好久的:

1
2
3
4
5
6

解析类型 子域名 指向 TTL 优先级
a mail 207.246.127.72 120 - -
mx mail.orion-c.win 120 10
a www 207.246.127.72 120 - -
a 207.246.127.72 120 - -

extmail

资源:
extmail镜像

extmail架设参考

例如我的域名是:orion-c.win
那么设置时:

1
2
domain: orion-c.win
hostname: mail.orion-c.win

如果extmail邮件被APF server或slockd 的RBL拦截

1
2
3
4
5
6
7
8
9
#vi  /usr/local/slockd/config/plugin.cf

dnsbl_plugin = yes 改为 dnsbl_plugin = no

greylist_plugin = yes 改为 greylist_plugin = no

#/usr/local/slockd/slockd-init stop
#/usr/local/slockd/slockd-init start
#service postfix restart

iredmail

这是docker lejmr/iredmail的架设方式,架设成功,不过我没收到邮件。

1
2
3
4
5
6
7
8
9
10
11
12
docker run --privileged -p 80:80 -p 443:443 -p 9022:22 --hostname=mail.orion-c.win \
-e "DOMAIN=orion-c.win" -e "HOSTNAME=mail" \
-e "MYSQL_ROOT_PASSWORD=xxxxxx" \
-e "SOGO_WORKERS1" \
-e "TIMEZONE=Asia/Shanghai" \
-e "POSTMASTER_PASSWORD=xxxxxx" \
-e "IREDAPD_PLUGINS=['reject_null_sender', 'reject_sender_login_mismatch', 'greylisting', 'throttle', 'amavisd_wblist', 'sql_alias_access_policy']" \
-v /root/mail/mysql:/var/lib/mysql \
-v /root/mail/vmail:/var/vmail \
-v /root/mail/clamav:/var/lib/clamav \
--name=iredmail lejmr/iredmail:mysql-latest

iredmail 官方版本架设

1
2
3
4
5
# wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.7.tar.bz2
# sudo apt-get install bzip2
# tar xjf iRedMail-0.9.7.tar.bz2
# cd iRedMail-0.9.7
# bash iRedMail.sh

最后友情提醒:
1.extmail的镜像虽然可以一条龙跑完,但其是centos 2.6内核自定义的EMOS,顾无法扩展docker等应用,内核升级无果。
2.iredmail最低要2G的内存,虽然我是1G也能装上,但那种便秘的感觉,相信你是不会想体会的。