邮件系统部署文档(Linux版)

文档目的

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

基础知识

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 均可)

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

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

[email protected]

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

这个指令可以列出目前你的 postfix 的详细设定数据,包括系统默认值也会被

列出来, 所以数据量相当的庞大!如果你在 main.cf 里面曾经修改过某些预设

参数的话,想要仅列出非默认值的设定数据, 则可以使用『postconf -n』这个

选项即可。

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

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

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

[[email protected] ~]# postfix start <==开始 postfix 的执行

[[email protected] ~]# postfix stop <==关闭 postfix

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

[[email protected] ~]# 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 啰!用法为:

[[email protected] ~]# postalias hash:/etc/aliases

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

啰!

/usr/sbin/postcat

主要用在检查放在 queue (队列) 当中的信件内容。由于队列当中的信件内容是

给 MTA 看的, 所以格式并不是一般我们人类看的懂的文字数据。所以这个时候

你得要用 postcat 才可以看出该信件的内容。 在 /var/spool/postfix 内有相

当多的目录,假设内有一个文件名为 /deferred/abcfile , 那你可以利用底下

的方式来查询该档案的内容喔:

[[email protected] ~]# postcat /var/spool/postfix/deferred/abcfile

/usr/sbin/postmap

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

据库啦!用法为:

[email protected]

[[email protected] ~]# postmap hash:/etc/postfix/access

/usr/sbin/postqueue

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

/var/log/maillog

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

系统环境

操作步骤

1.设置DNS MX记录

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

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

a)Linux中添加以下节点

@ IN MX 10 mail.zoenet.com.

mail IN A 172.16.3461

b) Windows中在DNS管理器中“正向查找区域”的相应域中右键“新建主机(A或AAAA)”新建一个邮件服务器的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

b)创建邮箱账号

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

useradd zoe

echo “redhat” | passwd --stdin zoe

c)启动Postfix服务程序

systemctl restart postfix

systemctl enable postfix

systemctl status postfix

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

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

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

//修改第25行,将#去掉

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

d)创建邮件存储目录

su zoe

mkdir -p mail/.imap/INBOX

e)启动dovecot服务

systemctl restart dovecot

systemctl enable dovecot

4.使用outlook登陆

修改outlook所在电脑的DNS

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

没成功。。。。

5.测试邮件服务器

安装telnet

yum install telnet

登入SMTP端口

telnet 127.0.0.1 25

填写发件人

MAIL FROM:<[email protected]>

敲回车

填写收件人

RCPT TO:<[email protected]>

开始写邮件内容

DATA

输入标题

Subject: test message

输入内容,并以 . 结束

this is my first mail

.

常见问题

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

解决方法:

原因是因为系统不存在ipv6

vim  /etc/dovecot/dovecot.conf

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

 

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

解决方法:

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

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

参考文献

http://www.cnblogs.com/dudu/archive/2012/12/12/linux-postfix-mailserver.html

时间: 2024-12-24 02:14:47

邮件系统部署文档(Linux版)的相关文章

node.js部署文档(Linux版)

常用命令 新建项目(需要到该项目文件目录下执行,否则日志会报错) pm2 start bin/www  - i  max  - - name  ijhealth 只开启一个线程 node  bin/www (没有进程守护) 开启项目 pm2  start    项目名称 关闭项目 pm2  stop    项目名称 重启项目 pm2  restart  项目名称 删除项目 pm2  delete  项目名称 列出项目 pm2  list 查看进程详细信息 pm2 show 0  /   pm2

VDP VMware 备份部署文档

文档内容 安装VDP ova虚拟机,部署VDP备份机制. 基础知识 vSphere Data Protection (VDP) 是一个基于磁盘的备份和恢复解决方案,可靠且易于部署. vSphere Data Protection 与 VMware vCenter Server 完全集成,可以对备份作业执行有效的集中式管理,同时将备份存储在经过重复数据消除的目标存储中,支持Web界面访问. 系统环境 操作系统:ESXi 6.0 预安装准备 在安装 vSphere Data Protection 之

hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclipse-plugin-2.5.0插件下载hadoop2.5.1汇总:最新编译 32位.64位安装.源码包.API下载及新特性等 新手指导:hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍 从零教你在Linux环境下(ubuntu 12.04)如何编译hadoo

loganalyzer部署文档-(第一部分)

loganalyzer部署文档 环境准备: 简介 LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端.它提供了对日志的简单浏览.搜索.基本分析和一些图表报告的功能.数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构.基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案. LogAnalyzer 获取客户端日志会有两种保存模式,一种是

Nginx部署文档(二进制包安装)

Nginx部署文档(二进制包安装) 创建时间:2016-06-27 修改时间:2017-03-04 修改时间:2017-03-06 文档目的2 基础知识2 常用命令2 系统环境2 操作步骤3 1. 安装依赖3 2. 安装nginx3 3. 启动nginx5 3. 关闭防火墙6 4. 修改生产环境配置6 常见问题7 问题一:报错"cp: `conf/koi-win' and `/usr/local/nginx/conf/koi-win' are the same file"7 问题二:[

Wcp知识管理系统部署文档

Wcp知识管理系统部署文档 环境 CentOS-6.5-x86_64-bin-DVD1.iso jdk-7u79-linux-x64.tar.gz apache-tomcat-7.0.72.tar.gz MySQL-5.6.33-1.el6.x86_64.rpm-bundle.tar WCP知识管理系统v3.2.0(免费版.开源) http://www.wcpdoc.com/webdoc/view/Pub8a2831b350e6b01f0150e6c1ad5a009f.html 下载地址:百度云

zabbix监控安装部署文档

Zabbix监控部署文档 创建时间:2017.02.19          文档目的 安装部署Zabbix服务器和Zabbix客户端,监控客户端服务器的硬件状态 基础知识 zabbix(音同 zbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. zabbix由2部分构成,zabbix server与可选组件zabbix agent. z

loganalyzer部署文档

loganalyzer部署文档   目录 一.         环境准备:... 3 二.         简介... 3 三.         系统环境... 3 四.         安装并设置LAMP环境... 3 4.1 安装LAMP环境... 3 4.2 启动服务并加入开机启动... 3 4.3 设置MySQL root 密码... 3 4.4 测试php运行环境... 3 五.         检查并安装服务器端软件... 4 5.1 检查是否安装了rsyslog软件... 4 5.

Codis 3.0 Release (密码验证) 群集部署文档

前言: Codis 3.x 由以下组件组成: Codis Server:基于 redis-2.8.21 分支开发.增加了额外的数据结构,以支持 slot 有关的操作以及数据迁移指令.具体的修改可以参考文档 redis 的修改. Codis Proxy:客户端连接的 Redis 代理服务, 实现了 Redis 协议. 除部分命令不支持以外(不支持的命令列表),表现的和原生的 Redis 没有区别(就像 Twemproxy). 对于同一个业务集群而言,可以同时部署多个 codis-proxy 实例: