> CentOS > CentOS教程 >

Centos7搭建Postfix服务

因为之前购买Linode VPS的时候,plan选的是最便宜的10刀一个月,但用下来发现1G的内存非常吃紧,内存占用率达到90%多,前台反应慢到死。接着各种优化,虽然有所降低,但是占用率仍旧非常高,这台VPS上除了wordpress还有其它一些东西要跑,所以狠心换了20刀每月的plan,2G内存瞬间感觉冰爽无比。趁着机会就顺便把之前没搞定的postfix给整妥当,具体步骤下面简单说下。

准备工作
首先需要配置下DNS记录,我用的是DNSPod,这个很多国内博主都在用,解析速度还是很快的。接着就删掉原来CentOS7自带sendmail。

1.添加一个二级域名指向服务器IP
2.添加MX记录到这个二级域名,优先级设为10
3.添加TXT记录

 
1
v=spf1 mx ~all

4.删除sendmail

 
1
yum remove sendmail

 

安装Postfix和dovecot套件
安装还是yum命令,很简单:

 
1
yum install postfix dovecot -y

接着就是配置postfix了,配置文件在/etc/postfix/main.cf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
vi /etc/postfix/main.cf
修改下面这些设置:
myhostname = mail.otichi.com
\填写你的hostname,就是刚才在DNS那里设置的
 
mydomain = otichi.com
\ 你的域名
 
myorigin = $mydomain
\ 一般人都会选domain作为自己邮件的主机吧
 
inet_interfaces = all
\ 接收来自所有网络请求
 
mydestination = $mydomain, $myhostname, localhost.$mydomain, localhost
\ 设定本地邮件域名
 
\ 然后按ESC
:wq
\ 保存退出

接着就是配置dovecot:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
vi /etc/dovecot/conf.d/10-mail.conf
 
\修改如下设置:
mail_location = mbox:~/mail:INBOX=/var/mail/%u
 
保存退出后,需要另外配置下发送人
echo 'www-data do-not-reply@otichi.com' >> /etc/postfix/generic
echo "smtp_generic_maps = hash:/etc/postfix/generic" >>/etc/postfix/main.cf
postmap /etc/postfix/generic
 
\启动所有服务,并添加至开机启动
systemctl enable postfix.service
systemctl enable dovecot.service
systemctl restart postfix.service
systemctl restart dovecot.service

测试
按照上述步骤设定完毕后,发给你一封邮件测试一下,如果收件箱里没有的话注意看下垃圾邮件。邮件的发送记录可以查看/var/log/maillog这个文件。

 
1
echo "Mail Content" | mail -s "Mail Subject" 你的邮箱@gmail.com

如果你没有看到什么warning或者error,那就大功告成了,至此Centos7上搭建邮件服务器Postfix就基本结束了。

[notification type=”alert-warning” close=”false” ]但是如果在之后使用像我一样,发现这样下面一条错误信息的话,就需要修改下mailbox的size[/notification]

 
1
(cannot update mailbox /var/mail/root for user root. error writing message: File too large)

 

 
1
2
3
4
5
postconf -n  \查看各参数,发现没有mailbox_size_limit的设置
 
postconf -e mailbox_size_limit=512000000 \没有就自己加吧,这里我加大500M了
 
reload下Postfix服务就基本搞定这个问题了。
 

(责任编辑:IT)