为了某些不可告人的秘密,我决定搭建一个自己的邮箱服务器。
当然,被人要你的邮箱的时候,你拿出自己域名的邮箱,也挺有场(zhuang)子(bi)的。
配置DNS是为了告诉其他人,你的域名收发件服务器是哪一个;以及防止自己的邮件被其他站点认为是垃圾邮件(这一点折腾了我很久,所以先写)
配置一下几条记录
主机记录 | 记录类型 | 记录值 | 备注 |
---|---|---|---|
@ | A | <server ip> | 这一点其实容易忽略,但是如果不把你的一级域名直接指向你的邮箱服务器,gmail很可能把你的邮件扔到垃圾邮件里面。 |
A | <server ip> | 这里的“mail”其实可以为任意值,通常为“mail” | |
@ | MX | mail.example.com | 指定你的域名的收发件服务器是哪个 |
@ | TXT | v=spf1 a mx -all | 配置SPF记录,用于反垃圾邮件,想进一步了解可以查阅相关资料 |
_dmarc | TXT | v=DMARC1;p=none;rua=yourname@example.com | 配置DMARC记录,用于反垃圾邮件,想进一步了解可以查阅相关资料 |
smtp | CNAME | mail.example.com | |
pop3 | CNAME | mail.example.com | |
imap | CNAME | mail.example.com | 以上为常用地址 |
执行命令sudo hostnamectl set-hostname mail.example.com
重启机器。
postfix是用来做“对外”任务的,就是与其他站点进行收发件交互。
执行命令sudo apt install postfix
一路确定,除了第二步,输入example.com。
然后执行命令sudo vim /etc/postfix/main.cf修改配置文件。
这里先上我的配置文件。
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
#此处隐藏了部分tls的配置
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mail.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, example.com, localhost, localhost.localdomain, localhost
relayhost =
#此处需要添加你的公网ip地址或子网
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
home_mailbox = .Mail/
queue_directory = /var/spool/postfix
broken_sasl_auth_clients = yes
#这里是为了与接下来要用到的dovecot配合
smtpd_sasl_type = dovecot
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_local_domain = example.com
smtpd_sasl_authenticated_header = yes
smtpd_sasl_security_options = noanonymous
compatibility_level = 2
smtpd_milters = local:/var/run/dkim-milter/dkim.sock
non_smtpd_milters = local:/var/run/dkim-milter/dkim.sock
milter_protocol = 2
milter_default_action = accept
dovecot是用来做“对内”任务的,就是与各个邮箱客户端进行同步(毕竟我们不能每次都登陆这台主机来收发邮件)
执行命令sudo apt install dovecot-common dovecot-imapd dovecot-pop3d
dovecot完整的配置文件比较复杂。
先进入/etc/dovecot/conf.d/
打开10-master.conf,找到第95行,修改为如下:
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
打开10-auth.conf,找到第100行,修改为:
auth_mechanisms = plain login
打开10-mail.conf,找到第30行,修改为:
mail_location = maildir:~/.Mail 注:此处与postfix配置文件中的home_mailbox一项配置相同即可。
打开20-pop3.conf,找到第50行,去除注释:
pop3_uidl_format = %08Xu%08Xv
sudo service postfix restart
sudo service dovecot restart
此时,使用邮箱客户端即可连接使用。
服务器内所有都可以登陆。
smtp: smtp.example.com port: 25
imap: imap.example.com port: 143
pop3: pop3.example.com port: 110
下一篇文章将会讲解如何配置postfix及dovecot的SSL证书。