阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下邮件系统部署文档

126次阅读
没有评论

共计 4439 个字符,预计需要花费 12 分钟才能阅读完成。

文档目的

熟悉邮件系统,了解邮件收发流程

基础知识

MUA(Mail User Agent 用户代理 ): 用于收发邮件。

MTA(Mail Transfer Agent邮件传输代理 ): 将来自于 MUA 的邮件转发给指定用户。

MDA(Mail Delivery Agent邮件投递代理 ): 将来自于 MTA 的邮件保存到本机的收件箱中。(事实上,这个 MDA 是挂在 MTA 底下的一个小程序,最主要的功能就是:分析由 MTA 所到的信件表头或内容等数据,来决定这封邮件的去向。)

Postfix:提供邮件发送服务,即SMTP

Dovecot:提供邮件收取服务,即POP3

OutLook Express:客户端收发邮件的工具。

常用命令

postqueue

查看邮件队列信息

mailq

查看邮件队列信息

alternatives –config mta

修改默认邮件传输代理

alternatives –display mta

查看默认邮件传输代理

service dovecot status

查看服务状态

/usr/sbin/postconf -n

检查 postfix 配置

  
  

 

所需软件

telnet  可以用来验证本地邮件服务是否安装成功  telnet 127.0.0.1 25

软件结构

/etc/postfix/main.cf

这就是主要的 postfix 配置文件啰,几乎所有的设定参数 都是在这个档案内规 范的! 这个档案预设就是一个完整的说明档了,你可以参考这个档案的内容就 设定好属于你的 postfix MTA 呢!只要修改过这个档案,记得要重新启动

postfix 喔!

参数

作用

myhostname

邮局系统的主机名。

mydomain

邮局系统的域名。

myorigin

从本机寄出邮件的域名名称。

inet_interfaces

监听的网卡接口。

mydestination

可接收邮件的主机名或域名。

mynetworks

设置可转发那些主机的邮件。

relay_domains

设置可转发那些网域的邮件

 

/etc/postfix/master.cf

主要规定了 postfix 每个程序的运作参数,也是很重要的一个配置文件。不过 这个档案预设已经很 OK 了,通常不需要更改他。

/etc/postfix/access (利用 postmap 处理)

可以设定开放 Relay 或拒绝联机的来源或目标地址等信息的外部配置文件,不 过这个档案要生效还需要在 /etc/postfix/main.cf 启动这个档案的用途才行。且设定完毕后需要以 postmap 来处理成为数据库档案呢!

/etc/aliases (利用 postalias newaliases 均可)

做为邮件别名的用途,也可以作为邮件群组的设定喔!

至于常见的执行档则有底下这些:

net.qiang@hotmail.com 

/usr/sbin/postconf (查阅 postfix 的设定数据)

这个指令可以列出目前你的 postfix 的详细设定数据,包括系统默认值也会被 列出来, 所以数据量相当的庞大!如果你在 main.cf 里面曾经修改过某些预设 参数的话,想要仅列出非默认值的设定数据, 则可以使用『postconf -n』这个 选项即可。

 

/usr/sbin/postfix (主要的 daemon 指令)

此为 postfix 的主要执行档,你可以简单的使用他来启动或重新读取配置文件:

[root@www ~]# postfix check <==检查 postfix 相关的档案、权限等是否正确!

[root@www ~]# postfix start <==开始 postfix 的执行

[root@www ~]# postfix stop <==关闭 postfix

[root@www ~]# postfix flush <==强制将目前正在邮件队列的邮件寄出!

[root@www ~]# postfix reload <==重新读入配置文件,也就是

 

/etc/postfix/main.cf

要注意的是,每次更动过 main.cf 后,务必重新启动 postfix,可简单的使用

postfix reload』即可。不过老实说,鸟哥还是习惯使用 /etc/init.d/postfix

reload..

 

/usr/sbin/postalias

设定别名数据库的指令,因为 MTA 读取数据库格式的档案效能较佳,所以我们 都会将 ASCII 格式的档案重建为数据库。在 postfix 当中,这个指令主要在 转换 /etc/aliases 成为 /etc/aliases.db 啰!用法为:

[root@www ~]# postalias hash:/etc/aliases

# hash 为一种数据库的格式,然后那个 /etc/aliases.db 就会自动被更新 啰!

 

/usr/sbin/postcat

主要用在检查放在 queue ( 队列 ) 当中的信件内容。由于队列当中的信件内容是 MTA 看的,所以格式并不是一般我们人类看的懂的文字数据。所以这个时候 你得要用 postcat 才可以看出该信件的内容。在 /var/spool/postfix 内有相 当多的目录,假设内有一个文件名为 /deferred/abcfile ,那你可以利用底下 的方式来查询该档案的内容喔:

[root@www ~]# postcat /var/spool/postfix/deferred/abcfile

 

/usr/sbin/postmap

这个指令的用法与 postalias 类似,不过他主要在转换 access 这个档案的数 据库啦!用法为:

net.qiang@hotmail.com

[root@www ~]# postmap hash:/etc/postfix/access

 

/usr/sbin/postqueue

类似 mailq 的输出结果,例如你可以输入『postqueue -p』看看就知道了!

/var/log/maillog

记录邮件传递过程的日志。

系统环境

操作步骤

1.设置DNS MX 记录

由于邮件系统需要 DNS 的支持(现在已经没有人用 IP 来寄信,email都是使用【账号 @ 主机名】的方式来处理,所以邮件服务器一定要有个合法注册过的主机名),需要在 DNS 上配置 MXA标识,来指出邮件服务器的具体位置

在配置邮件服务之前,需要先在 DNS 服务器中添加 A 记录和 MX 记录,具体方法

aLinux中添加以下节点

@ IN MX 10 mail.zoenet.com.

mail IN A 172.16.3461

bWindowsDNS管理器中“正向查找区域”的相应域中右键“新建主机(AAAAA)”新建一个邮件服务器的A 记录,然后再邮件点击“新建邮件交换器(MX)(M)”,注意“主机或子域”不填,接着把邮件主机选择浏览到刚刚新建的 mail 主机(优先级的话只有一台可以随便设置,如果有多台,数值小的优先)。

然后再修改邮件服务器本地 主机名 的配置文件

vim /etc/hostname

输入主机名

mail.zoenet.com

2.配置Postfix 服务程序

先停止防火墙

systemctl stop firewalld

安装 postfix 程序 ( 一般系统中都默认已经安装)

yum install postfix -y

a)配置 main.cf 文件

vim /etc/postfix/main.cf

修改以下配置

//修改第 76 行的邮件服务器主机名

myhostname = mail.zoenet.com

//修改第 83 行邮件服务器域名

mydomain = zoenet.com

//修改第 99 行寄出邮件域名,$mydomain的值已经在上面有定义

myorigin = $mydomain

//修改第 116 行的监听网卡

inet_interfaces = all

//修改第 164 行的可接收邮件的主机名和域名

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

Linux 下邮件系统部署文档

Linux 下邮件系统部署文档

Linux 下邮件系统部署文档

Linux 下邮件系统部署文档

Linux 下邮件系统部署文档

b)创建邮箱账号

这里的邮箱账号是用到系统 pam 文件,故创建的方式和创建系统账号的方式是一样的

useradd zoe

echo RedHat | passwd –stdin zoe

Linux 下邮件系统部署文档

c)启动 Postfix 服务程序

systemctl restart postfix

systemctl enable postfix

systemctl status postfix

Linux 下邮件系统部署文档

3.配置dovecot 服务

a)安装 dovecot 程序

yum install dovecot -y

b)修改dovecat.conf

vim /etc/dovecot/dovecot.conf

//修改第 24 行的支持邮件协议

 24 protocols = imap pop3 lmtp

//然后追加允许明文认证(25行)

disable_plaintext_auth = no

//修改第 48 行的允许登陆网段地址,全部允许即为(0.0.0.0/0

login_trusted_networks = 0.0.0.0/0

Linux 下邮件系统部署文档

Linux 下邮件系统部署文档

c)配置邮件的格式与存储路径

vim /etc/dovecot/conf.d/10-mail.conf

//修改第 25,# 去掉

mail_location = mbox:~/mail:INBOX=/var/mail/%u

Linux 下邮件系统部署文档

d)创建邮件存储目录

su zoe

mkdir -p mail/.imap/INBOX

e)启动 dovecot 服务

systemctl restart dovecot

systemctl enable dovecot

4.使用 outlook 登陆

修改 outlook 所在电脑的DNS

Linux 下邮件系统部署文档

Linux 下邮件系统部署文档

Linux 下邮件系统部署文档

Linux 下邮件系统部署文档

Linux 下邮件系统部署文档

 

注:第一次搜索 outlook 使用加密登入模式,所以无法登陆,会显示登入失败,点击下一步,使用非加密登入即可

 

Linux 下邮件系统部署文档

Linux 下邮件系统部署文档

没成功。。。。

5.测试邮件服务器

安装telnet

yum install telnet

登入 SMTP 端口

telnet 127.0.0.1 25

填写发件人

MAIL FROM:<test@zoenet.com>

敲回车

填写收件人

RCPT TO:hahaha@zoenet.com

开始写邮件内容

DATA

输入标题

Subject: test message

输入内容,并以 . 结束

this is my first mail 

常见问题

问题一:outlook 无法登入用户,dovecot 启动报错“Address family not supported by protocol”

Linux 下邮件系统部署文档

解决方法:

原因是因为系统不存在ipv6

vim  /etc/dovecot/dovecot.conf  

listen = * [::] 改为listen = *

问题二:可以发邮件,但是outlook 和 mail 均无法收到邮件,邮件服务器中 /home/username/Maildir/new 中可以看到邮件

解决方法:

/etc/postfix/main.cf 425mail_spool_directory = /var/mail # 去掉

确保 /etc/dovecot/conf.d/10-mail.conf 中第 24 行到第 26 行的路径和收件箱的路径一样。一般 outlook 收不到邮件都是这里的配置问题。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141443.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4439字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中