1.环境初始化

[root@mail ~]# rpm -q centos-release //查看系统版本
centos-release-7-5.1804.el7.centos.x86_64

[root@localhost ~]# vi /etc/hostname //将主机名更改为邮件服务器域名mail.test.com

[root@localhost ~]# systemctl disable firewalld //禁止防火墙开机自启动

[root@localhost ~]# vi /etc/sysconfig/selinux //将未注释的SELINUX行的值改为disabled

[root@localhost ~]# vi /etc/fstab //编辑fstab配置文件,在最后一行添加如下:

/dev/cdrom /mnt iso9660 ro 0 0 //将vmware连接的光盘镜像开机自动以只读挂载到/mnt目录下

[root@localhost ~]# vi /etc/yum.repos.d/CentOS-Base.repo //编辑yum的配置文件,方便后续安装,配置内容如下,其他删除或注释:

[base]
name=CentOS-$releasever - Base
baseurl=file:///mnt
enabled=1
gpgcheck=0
////////////没看懂什么意思,为什么要这样做
[root@localhost ~]# reboot //重启让优化环境生效

2.搭建DNS环境域名解析,用于解析postfix地址

[root@mail ~]# yum install -y bind //安装DNS服务器

[root@mail ~]# vi /etc/named.conf //修改DNS主配置文件

listen-on port 53 { 192.168.49.129; };

allow-query { any; }; //修改这两行的内容

[root@mail ~]# vi /etc/named.rfc1912.zones //修改子配置文件

zone “test.com” IN {

  1. type master;
  2. file "test.com.zone";

};

zone “49.168.192.in-addr.arpa” {

  1. type master;
  2. file "test.com.local";

}; //在最后添加一个正向和一个反向解析区域

[root@mail ~]# cd /var/named/ //进入DNS服务器区域配置文件目录

[root@mail named]# cp -p named.localhost test.com.zone

[root@mail named]# cp -p named.localhost test.com.local //复制模板区域配置文件为指定区域配置文件。保留源文件权限,确定属组为named

[root@mail named]# vi test.com.zone //编辑正向区域配置文件
$TTL 1D
@ IN SOA @ rname.invalid. (

  1. 0 ; serial
  2. 1D ; refresh
  3. 1H ; retry
  4. 1W ; expire
  5. 3H ) ; minimum
  6. NS @
  7. A 192.168.49.129
  8. mail A 192.168.49.129
  9. MX 10 mail.test.com.

[root@mail named]# vi test.com.local //编辑反向区域配置文件
$TTL 1D
@ IN SOA test.com. rname.invalid. (

  1. 0 ; serial
  2. 1D ; refresh
  3. 1H ; retry
  4. 1W ; expire
  5. 3H ) ; minimum
  6. NS mail.test.com.
  7. A 192.168.49.129
  8. MX 10 mail.test.com.
  9. 129 PTR mail.test.com.

[root@mail named]# systemctl start named //启动DNS域名解析服务器

[root@mail named]# yum install -y bind-utils //安装nslookup命令测试dns能否解析成功

[root@mail named]# vi /etc/resolv.conf //给本机的DNS指向自己的dns服务器

nameserver 192.168.49.129

[root@mail named]# nslookup mail.test.com //解析服务器地址 //正向解析
Server: 192.168.49.129
Address: 192.168.49.129#53

Name: mail.test.com
Address: 192.168.49.129

//反向解析
[root@mail named]# nslookup 192.168.49.129
Server: 192.168.49.129
Address: 192.168.49.129#53

129.49.168.192.in-addr.arpa name = mail.test.com.
//成功

3.安装postfix服务器并进行配置

一般是默认自动安装postfix服务器的。

[root@mail named]# rpm -q postfix //检查系统是否已经安装了postfix服务器

postfix-2.10.1-6.el7.x86_64

[root@mail named]# postconf -a //检查postfix是否支持cyrus dovecot功能,如果不支持需重新安装更新的版本

[root@mail named]# vi /etc/postfix/main.cf //编辑postfix的配置文件,查找并修改对应配置项

myhostname = mail.test.com //本机主机名

mydomain = test.com //服务器域名

myorigin = $mydomain //初始域名

inet_interfaces = 192.168.80.181, 127.0.0.1 //监听接口

inet_protocols = ipv4 //监听网络版本,可以不改

mydestination = myhostname,

mydomain //目标域

home_mailbox = Maildir/ //邮件目录,在用户家目录下

[root@mail named]# postfix check //检查配置文件是否有语法错误

[root@mail named]# systemctl start postfix //启动postfix服务器

  1. //postconf -n该命令可查看postfix非默认配置
  • 1

4.邮件服务器简单发信测试

[root@mail named]# groupadd mailusers //添加邮件账号组

[root@mail named]# useradd -g mailusers -s /sbin/nologin jack //用户jack不允许登录(通过mailusers可以连接)

[root@mail named]# passwd jack

[root@mail named]# useradd -g mailusers -s /sbin/nologin tom

[root@mail named]# passwd tom //添加jack、tom邮件服务测试账号

[root@mail named]# yum install -y telnet //安装远程登录插件,用于登录25端口测试

[root@mail named]# telnet mail.test.com 25 //远程登录25端口,如报错连接不上,重启postfix


输入如下命令测试:

[root@mail named]# ls /home/tom/Maildir/new/ //查看tom接收的邮件目录下的邮件


这个只能超级管理员查看邮件

centos配置postfix邮件服务的更多相关文章

  1. Postfix 邮件服务 - postfix服务

    postfix 邮件服务 也是基于sendmail (需要关闭或卸载sendmail)postfix 是一个电子邮件服务器,它为了改良sendmail邮件服务器而产生的,并且它的配置文件比sendma ...

  2. CENTOS 配置好SVN服务环境后,其他服务器无法访问 Error: Can't connect to host '192.168.1.103': 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

    CENTOS 配置好SVN服务环境后,其他服务器无法访问   根据 下面的步骤配置好服务后,使用本机可以正常 连接到 SVN 服务, 但是使用局域网的其他服务器访问时出现下面的错误, Error: C ...

  3. Centos安装配置Postfix邮件服务器

    发布时间:July 6, 2012 // 分类:Mail // No Comments 在安装邮件服务器之前先了解几个名词,以后会用到: 1 2 3 4 5 6 MUA:用户代理端,即用户使用的写信. ...

  4. 阿里云centos配置postfix

    1. 为了防止垃圾邮件,先到域名控制面板设置好. MX A 记录及TXT记录 其中TXT记录如下  @  spf1 a mx ~all 意思就是使用spf1协议,允许a记录和MX记录对应的IP,不允许 ...

  5. postfix 邮件服务的安装及详解

    该实验系统:cetnos 6.5 sendmail:性能好,设置复杂,适合老手 qmail:体积小260+k ,模块化.需要做二次开发,适合对邮件性能有要求的 postfix:前身是sendmail, ...

  6. linux 学习第十八天学习(DNS分离解析、DHCP配置、邮件服务配置)

    DNS分离解析技术 yum install bind-chroot systemctl restart named systemctl enable named vim /etc/named.conf ...

  7. Postfix 邮件服务 - PostfixAdmin

    PostfixAdmin 基于web的postfix邮件发送服务器的管理工具,可以直接管理postfix的虚拟域名和邮件用户,前提是这些数据是存储在mysql或者是PostgreSQL数据库中. Po ...

  8. Centos 7 关闭邮件服务及禁用IPv6

    关闭邮件服务(禁用25端口) sudo systemctl stop dovecot sudo systemctl stop postfix sudo systemctl disable doveco ...

  9. 基于Windows Azure 搭建基于SharePoint 2010 Intranet、Extranet、Internet (4): 配置传出邮件服务: 使用 outlook.com 发送邮件通知

    前几篇文章,已经安装了SharePoint 2010,今天将演示如何配置传出邮件.由于某些原因,企业可能没有安装自己邮件服务器,此时我们可以使用公共的邮箱服务来发送邮件通知,比如outlook.com ...

随机推荐

  1. Python编程中NotImplementedError的使用

    Python编程中raise可以实现报出错误的功能,而报错的条件可以由程序员自己去定制.在面向对象编程中,可以先预留一个方法接口不实现,在其子类中实现.如果要求其子类一定要实现,不实现的时候会导致问题 ...

  2. [svc]linux中的文件描述符(file descriptor)和文件

    linux中的文件描述符(file descriptor)和文件 linux为了实现一切皆文件的设计哲学,不仅将数据抽象成了文件,也将一切操作和资源抽象成了文件,比如说硬件设备,socket,磁盘,进 ...

  3. javascript之Location对象

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 数据解析框架之Gson

    GSON是由Google提供的,用于JAVA对象与JSON字符串之间互相转换的一个解决方案.用处很多,比如在前后台通讯中,前台先将java对象转化成JSON,然后将JSON传输给后台交由后台处理——相 ...

  5. 在mac下安装fiddler

    说明:学习fiddler好久了,一直以来也没形成文档,之前学的一些知识也快忘得差不多了:正好利用假期,把之前学的知识都捡起来,捋一遍,形成文档,供以后使用的时候参考和借鉴 一:下载Mono 因为fid ...

  6. Django Auth模块及User对象方法

    一:Django的用户认证 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1:authenticat ...

  7. JavaScript(1)——编程真善美

    编程真善美 命名风格: 驼峰命名法 小驼峰法 变量一般用小驼峰法标识.驼峰法的意思是:除第一个单词之外,其他单词首字母大写:camelCase 大驼峰法(即帕斯卡命名法) 相比小驼峰法,大驼峰法把第一 ...

  8. Mybatis操作数据时出现:java.sql.SQLSyntaxErrorException: Unknown column 'XXX' in 'field list'

    这个错误比较重要,而且很常见,故单独进行说明: Mybatis出现:Unknown column 'xxx' in 'field list' 先来看一下程序的内部: dao.addUser(" ...

  9. Python:Django 项目中可用的各种装备和辅助

    1 Redis 数据库 2 MySQL 数据库 3 前端服务器 live-server 4 定时任务 django-crontab扩展 5 Docker 容器 --用来运行 FastDFS 分布式文件 ...

  10. Django模板系统-内置和自定义Filters

    django模板中最常用的两种特殊符号是 {{ }} 用来表示变量和 {% %} 用来表示逻辑相关的操作 变量 {{ 变量名 }} ,由字母数字下划线组成而.在模板语言中有特殊含义,用来获取对象相应的 ...