在vps上搭建邮件服务器(Postfix+Dovecot)

26点 林涛 76520℃ 0评论

对于上网的每个人来说,发送,接收邮件是一个基本的要求。但是对于那些需要做网络产品推广和新闻消息推送的用户来说,普通邮箱就不能满足要求了,因为如果发送的邮件量很大的时候,发送邮件的数量就会被限制了。具体大家可以看这篇报道各大免费邮箱邮件群发账户SMTP服务器配置及SMTP发送量限制情况

简单的说就是:如果做网络产品推广和新闻消息推送,发送的邮件量非常大的话,一般的建议是搭建自己的邮局服务器,或者是花钱购买专业的邮件群发服务,免费邮箱的SMTP适合少量的邮件群发需求。

目前提供邮件发送的服务商,大概有这些:SendGrid、MailChimp、Amazon SES、SendCloud、Mailgun等等,但是使用这些第三方的邮件服务器,都是使用的共享IP,如果发送频率过高一样会造成对方接收不到邮件。各家的独立IP价格,一般都是二十几甚至四十几美刀一个月,这样一来,就不如买台VPS自己搭建邮件服务系统。

因此,此教程帮助大家在VPS上,搭建个人的,或者公司使用的邮件服务系统。

教程如下:

购买的VPS服务器信息:
VPS, Centos 6.5 , 32位,1G内存

VPS服务商参考:
Conoha:https://www.conoha.jp/zh/ ;
Z.com: https://cloud.z.com/sg/zh/?mode=logout


使用工具

1.Postfix
2.Dovecot
3.Foxmail客户端
4.一个可用的域名


一、安装过程

1.安装Postfix

rpm -e sendmail  //有些VPS需要删除自带的sendmail
yum remove sendmail  //有些VPS需要删除自带的sendmail
yum install -y postfix

修改MTA(默认邮件传输代理)

alternatives --config mta

修改MTA.jpg

直接Enter回车即可。
查看是否设置成功

alternatives --display mta

查看是否设置成功.jpg

第一行可以看到mta的状态。 例如:mat - status is manual.


2.安装Dovecot

yum install dovecot -y

二、安装完成后,接下来是配置教程

1.配置Postfix
编辑/etc/postfix/main.cf,可以下载下来修改,也可以使用vim进行编辑:

yum install -y vim
vim /etc/postfix/main.cf

修改如下:

# 75行: 取消注释,设置
hostnamemyhostname = mail.nbu431.com
# 83行: 取消注释,设置域名
mydomain = nbu431.com
# 99行: 取消注释
myorigin = $mydomain
# 116行: 修改
inet_interfaces = all
l# 119行: 推荐ipv4,如果支持ipv6,则可以为all
inet_protocols = ipv4
# 164行: 添加
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 264行: 取消注释,指定内网和本地的IP地址范围
mynetworks = 127.0.0.0/8, 10.0.0.0/24
# 419行: 取消注释,邮件保存目录
home_mailbox = Maildir/
# 571行: 添加
smtpd_banner = $myhostname ESMTP

# 添加到最后
# 规定邮件最大尺寸为10M
message_size_limit = 10485760
# 规定收件箱最大容量为1G
mailbox_size_limit = 1073741824
# SMTP认证
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions=permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

修改好了之后使用/etc/rc.d/init.d/postfix start开启postfix,使用chkconfig postfix on将postfix开机启动。


2.配置Dovecot
修改如下:

[root@vultr ~]# vim /etc/dovecot/dovecot.conf

# 26行: 如果不使用IPv6,请修改为*
listen = *
[root@vultr ~]# vim /etc/dovecot/conf.d/10-auth.conf
# 9行: 取消注释并修改
disable_plaintext_auth = no
# 97行: 添加
auth_mechanisms = plain login
[root@vultr ~]# vim /etc/dovecot/conf.d/10-mail.conf
# 30行: 取消注释并添加
mail_location = maildir:~/Maildir

[root@vultr ~]# vim /etc/dovecot/conf.d/10-master.conf
# 88-90行: 取消注释并添加
# Postfix smtp验证
unix_listener /var/spool/postfix/private/auth {
                       mode = 0666 
                       user = postfix 
                       group = postfix
}

[root@vultr ~]# /etc/rc.d/init.d/dovecot start
Starting Dovecot Imap:                    [ OK ] 

[root@vultr ~]# chkconfig dovecot on

到这里,我们的邮件服务器就已经搭建成功了。


三、域名解析

搭建完成后还需要进行域名解析。

添加一个子域名mail,A记录解析到服务器IP。

再添加一个MX记录,主机记录为空,记录值为上面解析的二级域名mail.nbu431.com,优先级10。

域名解析示范.jpg

注意:解析生效可能需要一段时间。


四、邮箱客户端使用教程

一切都弄好以后,就可以使用Foxmail等第三方软件来收发邮件了。
在这里需要说一下,VPS的系统用户就是邮件的用户:

例如root,它既是VPS的管理员用户,同时也是我们搭建的邮箱用户,作为邮箱用户,它的账号是:root@nbu431.com,邮箱密码就是vps的root登录密码。

这里我们一般添加一个邮箱的管理员用户,添加过程如下:

      #创建一个用户
      useradd admin
      #设置密码,会要求输入两次密码
      passwd admin

接下来是下载登录Foxmail
1>.下载Foxmail

foxmail下载.jpg

2>.安装过程很简单,安装完成后登录Foxmail

admin登录.jpg

点击创建,进入登录设置:


这里需要注意,邮件账号是admin,并不是邮箱,另外我们没有配置SSL,所以也不要勾选。 接下来点击创建,如果一切正常的话,你已经成功了。


登录成功页面.jpg

**到这里,你就可以使用客户端愉快的群发邮件了,速度很快,支持批量邮箱地址导入,即便是.txt的邮箱地址,稍作编辑也可以批量导入!另外,


后记说明

posfix使用方法
/etc/rc.d/init.d/postfix start/stop/status/restart
Dovecot使用方法
/etc/rc.d/init.d/dovecot start/stop/status/restart
服务端日志目录:
cat /var/log/maillog


另外:

大家可以尝试在服务器安装pflogsumm,用来管理邮件非常方便。安装教程网上很多,大家搜索一下安装即可。

pflogsumm功能如下
统计今天的信息
pflogsumm -d today /var/log/maillog
统计昨天的信息
pflogsumm -d yesterday /var/log/maillog
使用定时任务生成昨天报告
1 0 * * * /usr/sbin/pflogsumm -d yesterday /var/log/maillog 2>&1 | mail -s "daily mail stats" postmaster@domain.com
使用定时任务生成上周的报告
1 0 * * * /usr/sbin/pflogsumm /var/log/maillog.1 2>&1 | mail -s "weekly mail stats" postmaster@domain.com

如需转载请注明: 转载自26点的博客

本文链接地址: 在vps上搭建邮件服务器(Postfix+Dovecot)

转载请注明:26点的博客 » 在vps上搭建邮件服务器(Postfix+Dovecot)

喜欢 (8)
发表我的评论
取消评论

表情
(19)个小伙伴在吐槽
  1. 少写了一个配置 vi /etc/dovecot/conf.d/10-ssl.conf ssl = no
    匿名2021-04-11 02:24 回复
  2. 不知道为啥,禁止明文登录这一步配置没生效
    匿名2021-04-08 00:55 回复
  3. 哥儿 加一下我Q 1510003536 教一下吧
    匿名2020-04-26 06:52 回复
    • 这篇内容写了很久了,起始搭建起来不是很复杂;不过我的建议是不要用自己搭建的邮件服务器,因为现在各大厂的反垃圾邮件很厉害,所以如果是自己搭建的会很容易被判定为垃圾邮件,最好的方式是直接使用第三个的接口,然后自己做一个转发
      林涛2020-06-09 09:41 回复
      • 老哥你好 第三个接口做个转发这块不是很懂 能指导下吗。有没有联系方式或者加我Q483606343 谢谢
        匿名2020-06-14 17:54 回复
  4. 搭好了,但是只能收邮件,不能发邮件,怎么解决?
    匿名2019-07-09 20:08 回复
    • 能接受邮件说明配置有一半生效,需要重新检查配置时不时正确,然后检查smtp、imap 服务器上的配置。
      林涛2019-07-19 09:57 回复
  5. 第四步,可以直接使用root 账号吗? 邮箱添加账号一直都不成功。
    Terry2019-07-09 09:03 回复
    • 理论上是可以用 root 账号的,不过为了方便维护 还是建议用邮箱账号;邮箱账号添加不成功时不时登录用户权限不对?
      林涛2019-07-19 09:58 回复
  6. 你好, 现在买还能用么, 买一个VPS 一天能发送多少邮件
    匿名2019-06-04 21:51 回复
    • vps上发邮件不受限制吧,不过 vps 上发的邮件大都会进到垃圾邮件了里面。
      林涛2019-06-25 10:21 回复
  7. inet_interfaces设置为all,用命令netstat查25端口始终只监听127.0.0.1,无法监听全网,只选择ipv4,netstat查看仍旧会监听ipv6的25端口。请问如何解决?谢谢
    冬天的风2018-07-06 15:20 回复
  8. 兄弟,爬的真好!
    匿名2018-03-25 22:24 回复
  9. 大神你好,我在你的步骤试着做了一下,在第四步的时候不知道如何添加邮箱管理员账号,能不能详细的指导一下?
    匿名2018-01-31 21:42 回复
    • 就是添加一个系统账号,只不过这个账号是用来发邮件的
      林涛2018-01-31 23:47 回复
  10. 大神你好,postfix文件配置完成后,运行命令开机启动时,系统提示找不到文件,这是怎么回事呢?
    匿名2018-01-04 16:22 回复
    • 自己检查一下每个步骤,虽然这个方法很笨,但是这个是最有效的办法了,我试过多次
      林涛2018-01-24 23:39 回复