1. 前期准备:

主机:CentOS release 7.6.1810 (Core)     #安装时选择邮件服务器

IP:192.168.71.108   #示例

本地yum源 #因为是内网,所以建议用镜像搭建本地yum源

2. 基础环境配置

关闭selinux

sed –I ‘s/enforcing/disabled/g’  /etc/selinux/config

防火墙等配置:

firewall-cmd –add-port=’110/tcp’ –permanent

firewall-cmd –add-port=’25/tcp’ –permanent

或直接关闭防火墙,因为是内网,也不会有安全问题

systemctl start firewalld.service

主机名配置:

重启系统以使上述配置生效

shutdown  -r now

3. Postfix安装与配置

3.1. 安装postfix

因为安装centos时选择的是邮件系统,所以检查是否自带postfix服务,如果没带则可通过本地yum源安装:yum -y insatll postfix --nogpgcheck

3.2. 配置postfix

[root@mail ~]# vim /etc/postfix/main.cf

  • myhostname =mail.yzp.com  #定义主机名
  • mydomain =yzp.com   #定义域名
  • myorigin =$mydomain  #定义组织域
  • 我们需要在mydestination的值后面添加 $mydomain ,
  • 如果不添加的话,收件人的地址会有问题,如果添加后,用户发送邮件直接会是xx@yzp.com
  • 取消注释 #local_recipient_maps =

3.3. 启动和检查postfix

[root@mail ~]# systemctl start postfix.service

[root@mail ~]# systemctl enable postfix.service

[root@mail ~]# netstat -nltp

4. dovecot安装与配置

4.1. 安装dovecot

[root@mail ~]#  yum -y  install dovecot --nogpgcheck

4.2. 配置dovecot

接下来我们查看dovecot的默认配置文件

[root@mail ~]# cat /etc/dovecot/dovecot.conf

我们看见以下include可以包含的配置文件路径,在该路径下的*.conf文件都会生效

4.2.1. vim /etc/dovecot/dovecot.conf启用协议以下协议及监听

protocols = imap pop3 lmtp

#启用端口监听

listen = *,::

4.2.2. vim /etc/dovecot/conf.d/10-auth.conf设置如下参数

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

disable_plaintext_auth = no

auth_mechanisms = plain login

!include auth-system.conf.ext

4.2.3. vim /etc/dovecot/conf.d/10-ssl.conf禁用ssl认证

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

ssl = no

4.2.4. vim /etc/dovecot/conf.d/10-logging.conf启用dovecot的日志

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

添加

info_log_path = /var/log/dovecot_info.log

debug_log_path = /var/log/dovecot_debug.log

4.3. 启动和检查dovecot

[root@mail ~]# systemctl start dovecot.service

[root@mail ~]# systemctl enable dovecot.service

[root@mail ~]# netstat -nltp | grep dovecot

5. 创建测试账户与测试邮件收发通信

5.1. 创建两个测试账户

[root@mail ~]# useradd test1

[root@mail ~]# passwd test1

[root@mail ~]# useradd test2

[root@mail ~]# passwd test2

5.2. 测试110端口:收邮件端口

[root@mail ~]# telnet 192.168.71.108 110

Trying 192.168.71.108...

Connected to 192.168.71.108.

Escape character is '^]'.

+OK [XCLIENT] Dovecot ready.

user test1

+OK

pass 111111

+OK Logged in.

-ERR [SYS/PERM] Permission denied

Connection closed by foreign host.

我们查看log

[root@mail ~]# cd /var/log/

[root@mail log]# tailf maillog

我们切换到刚才的用户:

[test1@mail ~]$ su - test1

密码:

[test2@mail ~]$  mkdir -p ~/mail/.imap/INBOX

[test1@mail ~]$ su - test2

密码:

[test2@mail ~]$  mkdir -p ~/mail/.imap/INBOX

再次测试110端口,发现测试通过了

[root@mail ~]# telnet 192.168.71.108 110

Trying 192.168.71.108...

Connected to 192.168.71.108.

Escape character is '^]'.

+OK [XCLIENT] Dovecot ready.

user test1

+OK

pass 111111

+OK Logged in.

quit

+OK Logging out.

Connection closed by foreign host.

5.3. 测试25端口:发邮件端口

[root@mail ~]# telnet 192.168.71.108 25

Trying 192.168.71.108...

Connected to 192.168.71.108.

Escape character is '^]'.

220 mail.yzp.com ESMTP unkown

mail from:test1@yzp.com

250 2.1.0 Ok

rcpt to:test2@yzp.com

250 2.1.5 Ok

data

354 End data with <CR><LF>.<CR><LF>

.

250 2.0.0 Ok: queued as 338CE61533C9

quit

221 2.0.0 Bye

Connection closed by foreign host.

5.4. 测试上述查收上述test1发给test2的邮件

6. 同局域网内的windows电脑配置foxmail测试邮件收发

6.1. 配置新建账号

6.2. 互相收发邮件

收发测试通过,至此,环境搭建通过。

7. 检查邮件存储位置

[root@mail postfix]# cat /etc/dovecot/conf.d/10-mail.conf | grep mail_location

# path given in the mail_location setting.

#   mail_location = maildir:~/Maildir

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

#   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n

#mail_location =

# mail_location, which is also the default for it.

[root@mail postfix]# cd /var/mail/

Centos7+Postfix+Dovecot实现内网邮件收发的更多相关文章

  1. #centos7 创建内网yum源 OpenStack源部署

    #centos7 创建内网yum源#centos7 自动化安装 本地 内网 web源创建.更新 createrepo http OpenStack源部署 Elven原创 http://www.cnbl ...

  2. centos7内网源站建设

    centos7内网源站建设 1.部署环境: 系统:Centos7 x86_64 应用服务:nginx.createrepo.reposync 镜像源:https://mirrors.aliyun.co ...

  3. 企业内部在centos7.2系统中必杀技NTP时间服务器及内网服务器时间同步(windows和linux客户端同步)

    网络时间协议NTP(Network Time Protocol)是用于互联网中时间同步的标准互联网协议.NTP的用途是把计算机的时间同步到某些时间标准.目前采用的时间标准是世界协调时UTC(Unive ...

  4. 云端搭建内网局域网+NAT冗余上网:vps-centos6.10 +pptp client +2个ros 实现默认走pptp上网,万一pptp断了,走另外一个ros路由+centos7补充了下

    介绍下环境: 1.ROS1也是PPTP SERVER,IP为172.16.22.3/24,pptp pool为172.16.23.0/24,pptp的默认帐号是111,密码是123 2.ROS2的IP ...

  5. centos7 virtualbox使用internal network 内网模式

    1)打开对应虚拟机的Settings,点开Network, 2)Adapter1如果已经选了挂到Bridged Adapter,则点开Adapter2, 3)选择挂到 Internal Network ...

  6. Centos7.2内网环境安装MySQL5.7.24

    1.配置本地yum源 内网环境,首先需要配置本地yum源,以解决MySQL的依赖安装,具体参考该文:点击打开 2.查看服务器环境 uname -a 3.去官网下载MySQL安装包 MySQL官网网址: ...

  7. Docker 18.03 Centos7.6 安装 内网

    首先访问https://download.docker.com/linux/centos/7/x86_64/stable/Packages/获取对应版本的rpm包docker包docker-ce-18 ...

  8. centos7下配置iptables实现外网访问内网服务器

    说明:Centos 7 默认的防火墙是 firewall,安装iptables之前需关闭Firewall 外网机器:外网ip:120.25.71.183内网ip:10.1.1.23 内网机器:内网ip ...

  9. centos7下使用n grok编译服务端和客户端穿透内网

    (发现博客园会屏蔽一些标题中的关键词,比如ngrok.内网穿透,原因不知,所以改了标题才能正常访问,) 有时候想在自己电脑.路由器或者树莓派上搭建一些web.vpn等服务让自己用,但是自己的电脑一般没 ...

随机推荐

  1. 网络IO模型与Reactor模式

    一.三种网络IO模型: 分类: BIO 同步的.阻塞式 IO NIO 同步的.非阻塞式 IO AIO 异步非阻塞式 IO 阻塞和同步的概念: 阻塞:若读写未完成,调用读写的线程一直等待 非阻塞:若读写 ...

  2. python学习笔记(十五)-异常处理

    money = input('输入多少钱:') months = input('还几个月:') try: res = calc(int(money),int(months)) except ZeroD ...

  3. 测试验收标准checklist

    需求实现功能清单 功能实现目的 需求改造功能清单 关联功能清单 关联系统 端到端全流程场景 业务联系性场景 业务全流程场景 上下需求关联规则 业务角度在流程中关注项 财报.评级 授信方案 反洗钱 面向 ...

  4. 鸿蒙内核源码分析(字符设备篇) | 字节为单位读写的设备 | 百篇博客分析OpenHarmony源码 | v67.01

    百篇博客系列篇.本篇为: v67.xx 鸿蒙内核源码分析(字符设备篇) | 字节为单位读写的设备 | 51.c.h.o 文件系统相关篇为: v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一 ...

  5. 鸿蒙内核源码分析(编译脚本篇) | 如何防编译环境中的牛皮癣 | 百篇博客分析OpenHarmony源码 | v58.01

    百篇博客系列篇.本篇为: v58.xx 鸿蒙内核源码分析(环境脚本篇) | 编译鸿蒙原来如此简单 | 51.c.h.o 本篇用两个脚本完成鸿蒙(L1)的编译环境安装/源码下载/编译过程,让编译,调试鸿 ...

  6. P5404-[CTS2019]重复【KMP,dp】

    正题 题目链接:https://www.luogu.com.cn/problem/P5404 题目大意 给出一个字符串\(S\),然后求有多少个长度为\(m\)的串\(T\)满足.无限多个串\(T\) ...

  7. P5163-WD与地图【tarjan,整体二分,线段树合并】

    正题 题目链接:https://www.luogu.com.cn/problem/P5163 题目大意 给出\(n\)个点\(m\)条有向边,点有权值,要求支持操作 删除一条边 修改一个点的权值 求一 ...

  8. 通用JS9

    Symbol.toStringTag 该符号作为一个属性表示"一个字符串,该字符串用于创建对象的默认字符串描述."由内置方法Object.prototype.toString()使 ...

  9. 【MySQL】MySQL进阶(外键约束、多表查询、视图、备份与恢复)

    约束 外键约束 外键约束概念 让表和表之间产生关系,从而保证数据的准确性! 建表时添加外键约束 为什么要有外键约束 -- 创建db2数据库 CREATE DATABASE db2; -- 使用db2数 ...

  10. springcloud组件之注册中心eureka学习

    eureka的高可用 微服务架构中最核心的部分是服务治理,服务治理最基础的组件是注册中心.随着微服务架构的发展,出现了很多微服务架构的解决方案,其中包括我们熟知的Dubbo和Spring Cloud. ...