搭建 Postfix、Dovecot 邮件服务

搭建 Postfix、Dovecot 邮件服务

准备域名

任务时间:15min ~ 20mincss

域名注册

若是您尚未域名,能够在腾讯云上选购,过程能够参考下面的视频。html

  • 视频 - 在腾讯云上购买域名

域名解析

域名购买完成后, 须要将域名解析到实验云主机上,实验云主机的 IP 为:java

<您的 CVM IP 地址> 

在腾讯云购买的域名,能够到控制台添加解析记录,过程可参考下面的视频:swift

  • 视频 - 如何在腾讯云上解析域名

完成该实验共须要添加两条记录:安全

A 记录

记录类型:Abash

主机记录:@服务器

记录值:<您的 CVM IP 地址>app

MX 记录

记录类型:Adom

主机记录:@post

记录值:yourdomain.com(替换为本身域名)

生效检查

域名设置解析后须要过一段时间才会生效,经过 ping 命令检查域名是否生效 [?],如:

ping yourdomain.com 

若是 ping 命令返回的信息中含有你设置的解析的 IP 地址,说明解析成功。

(使用 ctrl + c 中止)

检查 MX 记录

替换下面命令中的 yourdomain.com 为您本身的注册的域名:

nslookup -q=mx yourdomain.com

若是 nslookup 命令返回的信息中含有你设置的域名的记录值,说明解析成功。

 

注意替换下面命令中的 yourdomain.com 为您本身的注册的域名

实验以前

任务时间:5min

配置一个功能完善的邮件服务器并非一项容易的工做,本实验只是搭建了一个简单的邮件服务器,一些更为强大的功能还须要你去探索。

Postfix、Dovecot 简介

Postfix

Postfix 是一个标准的 MTA「Mail Transfer Agent」服务器,它负责经过 SMTP 协议管理发送到本机的邮件以及由本机发向外界的邮件。

Dovecot

Dovecot 是一个优秀的 IMAP/POP 服务器用以接收外界发送到本机的邮件。

Postfix、Dovecot 安装

在 CentOS 7 上,咱们能够直接使用 yum 进行下载安装:

yum -y install postfix dovecot 

Postfix

任务时间:5min ~ 10min

配置 Postfix

有关教程中配置参数的具体含义,请参照 Postfix 配置文档

配置

在终端中输入如下命令以修改 Postfix 相关配置,请记得将 yourdomain.com 替换为你本身的域名:

  1.  
    postconf -e 'myhostname = server.yourdomain.com'
  2.  
    postconf -e 'mydestination = localhost, localhost.localdomain'
  3.  
    postconf -e 'myorigin = $mydomain'
  4.  
    postconf -e 'mynetworks = 127.0.0.0/8'
  5.  
    postconf -e 'inet_interfaces = all'
  6.  
    postconf -e 'inet_protocols = all'
  7.  
    postconf -e 'mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain'
  8.  
    postconf -e 'home_mailbox = Maildir/'
  9.  
    postconf -e 'smtpd_sasl_type = dovecot'
  10.  
    postconf -e 'smtpd_sasl_path = private/auth'
  11.  
    postconf -e 'smtpd_sasl_auth_enable = yes'
  12.  
    postconf -e 'broken_sasl_auth_clients = yes'
  13.  
    postconf -e 'smtpd_sasl_authenticated_header = yes'
  14.  
    postconf -e 'smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination'
  15.  
    postconf -e 'smtpd_use_tls = yes'
  16.  
    postconf -e 'smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem'
  17.  
    postconf -e 'smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem'

配置中 Postfix 使用 sasl 和 tls 来完成身份认证和传输信息加密。

试验中使用了 Dovecot 默认的 ssl 证书和私钥,若是你须要修改成本身的,请替换最后两行配置的路径。

配置 smtps

部分邮件客户端依赖于使用 465 端口提供加密链接,因此咱们修改配置,容许 Postfix 使用 465 端口发送邮件。

打开 /etc/postfix/master.cf 文件,将以下两行前的 # 去除:

  1.  
    smtps inet n - n - - smtpd
  2.  
    -o smtpd_tls_wrappermode=yes

而后 ctrl + s 保存文件。

启动

使用如下命令,将 Postfix 设为自动启动并首次启动该服务:

  1.  
    systemctl enable postfix.service
  2.  
    systemctl start postfix.service

Postfix 日志

Postfix 系统的日志文件在系统的这个目录下的 /var/log/maillog 文件,此文件记录了 Postfix 服务器的运行状态信息。

Dovecot

任务时间:5min ~ 10min

配置 Dovecot

修改 dovecot.conf

打开 /etc/dovecot/dovecot.conf 文件,在最下方加入如下配置:

示例代码:/etc/dovecot/dovecot.conf
  1.  
    ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
  2.  
    ssl_key = </etc/pki/dovecot/private/dovecot.pem
  3.  
     
  4.  
    protocols = imap pop3 lmtp
  5.  
    listen = *
  6.  
    mail_location = Maildir:~/Maildir
  7.  
    disable_plaintext_auth = no
  8.  
     

若是前面你修改成了本身的 ssl 证书和私钥,请替换开始两行配置的路径。

而后 ctrl + s 保存文件。

修改 10-master.conf

打开 /etc/dovecot/conf.d/10-master.conf 文件,在最下方加入如下配置:

找到 service auth 部分,将如下行前面的 # 去除:

  1.  
    unix_listener / var/spool/postfix/private/auth {
  2.  
    mode = 0666
  3.  
    }

而后 ctrl + s 保存文件。

启动 Dovecot

使用如下命令,将 Dovecot 设为自动启动并首次启动该服务:

  1.  
    systemctl enable dovecot.service
  2.  
    systemctl start dovecot.service

查看 /var/log/maillog 文件,查看服务是否成功启动。

如成功启动,日志里应包含以下信息:

  1.  
    Jun 26 12:00:28 localhost postfix/postfix-script[28338]: starting the Postfix mail system
  2.  
    Jun 26 12:00:29 localhost postfix/master[28340]: daemon started -- version 2.10.1, configuration /etc/postfix
  3.  
    Jun 26 12:28:40 localhost dovecot: master: Dovecot v2.2.10 starting up for imap, pop3, lmtp (core dumps disabled)

建立帐户

任务时间:5min ~ 10min

该配置下邮箱帐户依赖于系统用户,因此经过添加系统用户的方式建立邮箱帐户。

添加用户

在终端中使用 useradd 命令添加用户:

useradd test 

使用 passwd 命令设置对应用户密码:

passwd test 

测试

任务时间:10min ~ 15min

如测试中遇到异常,请查看 maillog 日志文件中的错误信息。

服务器端发送测试

使用 su 命令切换用户:

su test 

咱们可使用 mail 命令发送邮件,将 xxxx@xxx.com 替换为你的其余邮箱。

echo "Mail Content" | mail -s "Mail Subject" xxxx@xxx.com 

而后能够前往你的接收方邮箱查收。

邮件客户端

你能够将该邮箱帐户添加至邮件客户端使用,推荐使用 Foxmail 客户端。

能够参考如下配置进行设置:

  1.  
    服务器类型: `POP3`
  2.  
    邮箱帐户: `test@yourdomain.com`
  3.  
     
  4.  
    收件(POP3)服务器: `yourdomain.com`
  5.  
    端口: `995`
  6.  
    安全链接(SSL): `是`
  7.  
    用户名: `test`
  8.  
    密码: `test用户密码`
  9.  
     
  10.  
    发件(SMTP)服务器: `yourdomain.com`
  11.  
    端口: `465`
  12.  
    安全链接(SSL): `是`
  13.  
    用户名: `test`
  14.  
    密码: `test用户密码`

而后就可使用邮件客户端经过该帐户收发邮件了。

(该配置在某些邮件客户端下可能由于使用了通用证书而出现使用异常)

相关文章
相关标签/搜索