如何自建邮件服务器
创建邮件服务器
用最简单的方式创建邮件服务器
以centos8为例子
postfix is a better choice
修改域名服务器记录值
登录至域名管理界面
修改MX记录值,将记录值设置为mail server IP
也可以设置为该服务器的domain name
A记录
1 | @ 记录值 your IP |
TXT记录
必须设置该记录,来防止SPF反垃圾邮件过滤
1 | v=spf1 ip4:101.35.162.40 -all |
- 使用nslookup查看记录修改
1
2
3
4
5
6
7
8
9
10
11查看A记录,这两条是不一样的
nslookup www.jumhorn.com
nslookup jumhorn.com
查看TXT
nslookup -q=txt jumhorn.com
查看MX
nslookup -q=mx jumhorn.com
查看NS
nslookup -q=ns jumhorn.com
反向DNS查询
nslookup ip
修改主机sendmail.mc配置
安装工具
1
2
3
4
5
6
7
8
9
10
11
12centos
dnf install m4
dnf install sendmail
dnf install sendmail-cf
arch
编译安装sendmail
git clone https://aur.archlinux.org/sendmail.git
cd sendmail
makepkg -si
额外安装
pacman -S mailx修改sendmail.mc配置
修改/etc/mail/sendmail.mc文件,修改对应位置文件
arch没有该文件,创建文件参考wiki
1 | define(`SMART_HOST', `jumhorn.com')dnl |
取消以下几行注释
1 | define(`confAUTH_REALM', `mail')dnl |
修改local-host-name
编辑/etc/mail/local-host-names
1 | localhost |
重新生成sendmail.cf文件
1
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
修改access文件
1
2
3
4Connect:127.0.0.1 RELAY
Connect:localhost RELAY
Connect:hostname RELAY
Connect:jumhorn.com RELAY1
2生成access.db
makemap hash /etc/mail/access < /etc/mail/access修改virtusertable文件
1
2
3```
```shell
makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable修改host文件
1
2# 执行命令 hostname即可得到本机host
127.0.0.1 HOSTNAME jumhorn.com重启sendmail服务
1
systemctl restart sendmail
使用sendmail发邮件
原始方法
1 | send |
管理邮件
mail命令更加上层,更为方便查阅和发送邮件
- 发送邮件
1
2
3
4
5
6end with <ctrl + D>
mail -s "subject" someone@example.com
or
mail -s "subject" someone@example.com <<< "email body"
email body from file
mail -s "subject" someone@example.com < emailbody.txt - 查阅邮件
1
2
3
4
5
6
7mail
press number to read mail
& 7
back to list
& z
quit
& q
邮件转发
修改/etc/mail/virtusertable文件
目前没有rDNS,gmail,outlook都不收,暂时用qq尝试qq邮箱还行
将所有邮件都转发,即使用户不存在也不影响转发
1 | @jumhorn.com jumhorn@qq.com |
使用~/.forward文件,设置单个用户
1 | cd |
以上方法并不保存邮件,转发并保存邮件的方法
最简单的方法是在.forward文件上加上自己,如下.forward文件
1 | jumhorn@gmail.com |
FAQ
配置邮件尝试过于着急
DNS更新需要时间,在配置更改之后要先用nslookup查询到修改了,再测试
为什么发送的邮件都是在垃圾邮件中
PTR反向解析,从IP解析到域名
目前腾讯云支持该功能,收费1500/年,好坑,阿里云免费gui for read /var/mail(mbox file)
1
dnf install evolution
Currently no active mailbox
添加用户到mail组
1
2usermod -G [groupname] [username]
usermod -G mail adminprocmail
对于arch用户,没有安装procmail配合sendmail使用,导致本地收不到邮件
1 | git clone https://aur.archlinux.org/procmail.git |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.