Linux实验记录:使用Postfix与Dovecot部署邮件系统

前言:

本文是一篇关于Linux系统初学者的实验记录。

参考书籍:《Linux就该这么学》

实验环境:

VmwareWorkStation 17——虚拟机软件

RedHatEnterpriseLinux[RHEL]8——红帽操作系统

备注:

  Web服务和FTP文件传输服务虽能实现文件共享。但是需要双方同时在线才能完成传输工作。

Ray Tomlinson用了近一年时间完成了电子邮件的设计,并在1071年秋天使用SNDMSG软件向自己的另一台计算机发出了第一封电子邮件——电子邮件系统在互联网中由此诞生。

  电子邮件系统基于邮件协议来完成电子邮件的传输,常见的邮件协议有:

简单邮件传输协议(Simple Mail Transfer Protocl,SMPT):

  用于发送和中转发出的电子邮件,占用服务器的TCP/25端口。

邮局协议版本3(Post Office Protocol 3):

  用于将电子邮件存储到本地主机,占用服务器TCP/110端口。

Internet消息访问协议版本4(Internet Message Access Protocol 4):

  用于在本地主机上访问邮件,占用服务器的TCP/143端口。

   在电子邮件系统中,为用户收发邮件的服务器名为邮件用户代理(Mail User Agent,MUA)

用于保存用户邮件的“信箱”服务器名叫邮件投递代理(Mail Delivery Agent,MDA)

把来自邮件传输代理(Mail Transfer Agent,MTA)的邮件保存到本地的收件箱中。

  在生成环境中部署企业级电子邮件系统时,注意:

1.添加反垃圾与反病毒模块

2.对邮件加密

3.添加邮件监控审核模块

4.保障稳定性

实验1:部署基础的电子邮件系统

一个最基础的电子邮件系统要能提供发件服务和收件服务,为此需要使用基于SMTP的Postfix服务程序提供发件服务功能,并使用基于POP3协议的Dovecot服务程序提供收件服务功能。

为了更好地检验电子邮件系统的配置效果,需要先部署bind服务程序,为电子邮件服务器和客户端提供DNS域名解析服务。

Step1.1:配置服务器主机名称,需要保证服务器主机名称与发信域名一致

vim /etc/hostname

改为mail.linuxprobe.com

或使用:

hostnamectl set-hostname mail.linuxprobe.com

Step1.2:清空iptables防火墙默认策略,保存策略状态

iptables -F 
iptables-save
firewall-cmd --permanent --zone=public --add-service=dns
firewall-cmd --reload

Step1.3:为电子邮件系统提供域名解析

/etc/named.conf
/etc/named.rfc1912.zones
cp -a /var/named/named.localhost /var/named/linuxprobe.com.zone
/ver/named/linuxprobe.com.zone
zone "linuxprobe.com" IN {type master;file "linuxprobe.com.zone";allow-update { none; };
};
$TTL 1D
@       IN SOA  linuxprobe.com. root.linuxprobe.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      ns.linuxprobe.com.
ns      IN A    192.168.10.10
@       IN MX 10 mail.linuxprobe.com.
mail    IN A    192.168.10.10

Step2:配置Postfix服务程序

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/457109.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django前后端分离之后端实践2

小实践:实现用户登录、注销及ORM管理功能、事务开启小实践 models.py class Books(models.Model):id models.CharField(primary_keyTrue,max_length20,verbose_name"图书ID")name models.CharField(max_length20,verbose_name图书名称)status models…

Linux系统安装mysql数据库并利用自己电脑远程连接

在新装的linux系统中,我们得先开启网络服务才能下载包啊什么的,所以在这之前,我们默认已经开启网络服务。 首先我们需要先下载一个wget命令工具用于从网上下载软件安装包。 首先我们需要先下载一个wget命令工具用于从网上下载软件安装包。下…

mhz_c1f

信息收集 探测到存活主机的IP地址为 192.168.101.32 # nmap -sT --min-rate 10000 -p- 192.168.101.32 -oN port.nmap Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-03 13:41 CST Nmap scan report for 192.168.101.32 Host is up (0.0020s latency). Not shown: 6553…

EasyExcel分页上传数据

EasyExcel分页上传数据 一、实例 controller上传入口 PostMapping("/upload")ResponseBodyLog(title "导入工单", businessType BusinessType.IMPORT)public AjaxResult uploadFile(HttpServletRequest request, MultipartFile files) throws Exceptio…

项目02《游戏-08-开发》Unity3D

基于 项目02《游戏-07-开发》Unity3D , 本次任务做物品相互与详情的功能, 首先要做 点击相应, 接下来用接口实现点击相应事件,具体到代码中,我们找到需要响应鼠标事件的对象, 双击PackageCell…

【3D分割】GARField: 辐射场的物体分组

题目:GARField: Group Anything with Radiance Fields 来源:UC Berkeley 和 Luma AI 项目: https://www.garfield.studio/ 文章目录 摘要一、前言二、相关工作2.1 层次分组2.2 NeRF的分割2.3 3D 特征场 三、method3.1 2D Mask 生成3.2 Scale-…

Python __file__属性:查看模块的源文件路径

除可以查看模块的帮助信息之外,还可以直接阅读模块的源代码来掌握模块功能,提升 Python 编程能力。 不管学习哪种编程语言,认真阅读那些优秀的框架、库的源代码都是非常好的学习方法。 通过模块的 __file__ 属性即可查看到指定模块的源文件…

数据库学习案例20240206-ORACLE NEW RAC agent and resource关系汇总。

1 集群架构图 整体集群架构图如下: 1 数据库启动顺序OHASD层面 操作系统进程init.ohasd run启动ohasd.bin init.ohasd run 集群自动启动是否被禁用 crsctl enable has/crsGIHOME所在文件系统是否被正常挂载。管道文件npohasd是否能够被访问, cd /var/t…

Rust 数据类型使用注意点

文章目录 前言一、Rust 的数据类型基本数据类型:复合数据类型: 二、使用注意点📢整型溢出 总结 前言 Rust 学习系列 ,学习rust的数据类型。牢记其中的注意点📢 一、Rust 的数据类型 Rust 提供了丰富的数据类型&#…

新火种AI|寒武纪跌落神坛!七年连亏50亿,AI芯片第一股不行了吗?

作者:文子 编辑:小迪 连年亏损,烧钱不止,寒武纪终是走到悬崖边缘。 寒武纪市值腰斩,连续七年累亏50亿 继连续六年亏损之后,寒武纪又迎来第七年亏损。 1月30日晚,寒武纪正式对外发布2023年年…

ref用法

目录 React中提供两种方法创建ref对象: 类组件获取 Ref 三种方式 ① Ref属性是一个字符串。 ② Ref 属性是一个函数。 ③ Ref属性是一个ref对象。 高级用法1:forwardRef 转发 Ref 高级用法2:ref实现组件通信 【ref作用】:最…

GPTs保姆级教程之实践

GPTs什么 使用GPTs的前提:ChatGPT Plus帐号 GTPs的作用:把我们和GPT对话的prompt,封装起来成为一个“黑匣子”。 主要有两个作用: 1、避免反复输入prompt,“黑匣子”打开,输入问题即可使用 2、在别人可以…