linux centos7中使用 Postfix 和Dovecot搭建邮件系统

作者主页:点击!

Linux专栏:点击!

Postfix

Postfix是一个开源的邮件传输代理(MTA),用于路由和传送电子邮件。它是一个可靠、安全且高性能的邮件服务器软件,常用于搭建邮件系统的核心组件之一。

特点和功能:

  • 安全性: Postfix注重安全性,采用了多种安全机制来保护系统免受邮件滥用和攻击。

  • 性能: Postfix设计简单、高效,具有良好的性能表现,能够高效地处理大量的邮件流量。

  • 灵活性: Postfix提供了丰富的配置选项和灵活的扩展性,可以根据需求进行定制和配置。

  • 易用性: Postfix具有清晰的文档和友好的社区支持,易于安装、配置和管理。

Dovecot

Dovecot是一个开源的邮件服务软件,用于提供邮件访问服务,包括POP3和IMAP协议。它通常与Postfix配合使用,用于接收和存储邮件,以及为用户提供远程访问邮件的功能。

特点和功能:

  • 稳定性: Dovecot稳定可靠,经过广泛的测试和使用,在生产环境中表现良好。

  • 安全性: Dovecot支持SSL/TLS加密,能够保护邮件通信的安全性,同时提供多种认证方式来保护用户帐户的安全。

  • 高性能: Dovecot具有优秀的性能表现,能够快速响应用户的邮件访问请求,并支持邮件目录索引缓存等功能来提升性能。

  • 易用性: Dovecot提供了简单易用的配置文件和管理工具,使得管理员可以轻松地进行配置和管理。

Postfix和Dovecot是搭建邮件系统的两个重要组件,它们分别负责邮件的传输和存储、访问。通过合理配置和配合使用这两个工具,可以构建一个安全、稳定、高性能的邮件系统,满足用户的邮件通信需求。

以下均在Vmware中实验

均关闭防火墙 selinux

安装bind

yum install -y bind

编辑bind的配置文件

[root@localhost ~] vim /etc/named.conf 

添加正向解析 域名根据需求来设置

进入cd /var/named/

[root@localhost ~]# cd /var/named/
[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]# cp -p named.empty ssl.com.zone

cp -p named.empty ssl.com.zone:使用选项将文件复制到命名的新文件,同时保留文件属性(时间戳、所有权、模式)。named.emptyssl.com.zone-p

编辑刚刚复制的文件

vim /ssl.com.zone
$TTL 3H
@       IN SOA  ssl.com. root.ssl.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@ IN NS dns.ssl.com.
dns IN A 192.168.180.188
mail IN A 192.168.180.188
ftp IN A 192.168.180.66
        MX 10 mail.ssl.com.

此行指定邮件交换 (MX) 记录,指示邮件服务器应将邮件传递到此域的位置。它将首选项值设置为“3”

配置完成之后 

systemctl restart named
测试DNS解析

把dns执行服务器IP(也就是自己的地址)

vim /etc/resolv.conf

解析成功

安装postfix

 yum install -y postfix


编辑配置文件
vim /etc/postfix/main.cf

该文件 () 通常包含 Postfix 邮件服务器的主要配置设置。您可能会发现一些常见的配置选项,包括与域名、网络接口、中继设置和安全选项相关的设置。 main.cf main.cf

76 myhostname = mail.sll.com

 83 mydomain = ssl.com

此设置对于确保传出电子邮件具有有效的发件人地址至关重要

 98 myorigin = $myhostname
该变量通常表示运行 Postfix 的计算机的主机名

113 inet_interfaces = all

此行指定 Postfix 应侦听所有可用的网络接口。这意味着它将接受分配给服务器的任何 IP 地址上的连接

116 #inet_interfaces = localhost

这一行也被注释掉了。它指定 Postfix 应仅在 localhost 接口上侦听。

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

此行被注释掉。它建议邮件服务器应将邮件传递到以下目的地:

服务器的主机名 ($myhostname)
localhost.$mydomain
localhost


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

使用此配置,Postfix 将在本地传递与所列目的地关联的地址的邮件。

418 #home_mailbox = Mailbox
此行已注释掉,因此它未处于活动状态。它建议使用名为 的邮箱格式。但是,由于已注释,因此未使用此配置。Mailbox

419 home_mailbox = Maildir/


指示本地用户邮箱的默认邮箱格式为 Maildir 格式。home_mailboxMaildir/

配置完成之后

重启服务

[root@localhost ~] systemctl restart postfix

创建一个用户并设置密码的

[root@localhost ~]# useradd -s /sbin/nologin admin
[root@localhost ~]# passwd admin
更改用户 admin 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

/sbin/nologin 该选项将用户的 shell 设置为 ,这是一个特殊的 shell,可有效地禁用此用户的登录

安装Dovecot

下载软件

[root@localhost ~] yum install -y dovecot dovecot-devel clucene-core

如果不能一起安装的话可以单独分开安装


编辑配置文件
[root@localhost ~]  vim /etc/dovecot/dovecot.conf

指定允许访问的网段

[root@localhost ~] vim /etc/dovecot/conf.d/10-mail.conf

此文件通常包含与 Dovecot 的邮件存储相关的配置设置。它允许您定义 Dovecot 存储用户电子邮件的位置和方式。

此行指定 Dovecot 应使用 Maildir 格式 () 来存储电子邮件,目录路径是存储电子邮件的位置。maildir:~/Maildir

maildir:指示 Maildir 格式,该格式将每封电子邮件作为单独的文件存储在用户目录中。

设置完成之后 重启服务器

[root@localhost ~] systemctl restart dovecot

配置SSL加密

openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -sha256 -in server.csr -signkey server.key -out servernew.crt
  1. openssl genrsa -des3 -out server.key 1024

    • 生成一个RSA私钥(Key),命名为,并且使用DES算法进行加密(通过 选项)。私钥的长度为1024位。server.key-des3
  2. openssl req -new -key server.key -out server.csr

    • 使用生成的私钥()生成一个证书签名请求(Certificate Signing Request,CSR),存储在文件中。该命令将提示你输入一些证书相关的信息,比如组织名称、单位名称、常用名等。server.keyserver.csr
  3. openssl x509 -req -days 365 -sha256 -in server.csr -signkey server.key -out servernew.crt

    • 使用先前生成的CSR()以及私钥()签署证书,生成一个自签名的X.509证书()。参数指定证书的有效期为365天,指定使用SHA-256算法进行签名。server.csrserver.keyservernew.crt-days 365-sha256

输入完成之后

ls查看此刻桌面会多出SSL/TLS 证书相关的文件

server.csr  servernew.crt  server.key 

  1. server.csr:此文件通常包含为服务器生成的证书签名请求 (CSR)。CSR 将发送到证书颁发机构 (CA) 以请求颁发 SSL/TLS 证书。它包含您的域名和组织详细信息等信息。

  2. servernew.crt:此文件似乎是证书颁发机构 (CA) 为响应 CSR 而颁发的 SSL/TLS 证书。它包含服务器的公钥,用于与客户端建立安全连接。

  3. server.key:此文件包含与 SSL/TLS 证书关联的私钥。私钥用于 SSL/TLS 握手过程中的加密和解密。

[root@localhost ~] ls
anaconda-ks.cfg  csdn                  oneif.sh   path.sh    server.csr  servernew.crt  user.sh     公共  视频  文档  音乐
c????????        initial-setup-ks.cfg  passwd.sh  select.sh  server.key  time.sh        yesoron.sh  模板  图片  下载  桌面
[root@localhost ~] cp -a * /etc/pki/CA/certs/
[root@localhost ~] ls /etc/pki/CA/certs/
anaconda-ks.cfg  csdn                  oneif.sh   path.sh    server.csr  servernew.crt  user.sh     公共  视频  文档  音乐
c????????        initial-setup-ks.cfg  passwd.sh  select.sh  server.key  time.sh        yesoron.sh  模板  图片  下载  桌面

命令用于将当前目录下的所有文件(除了以开头的隐藏文件)复制到目录中。这意味着你复制了当前目录下的所有文件和目录到目录。cp -a * /etc/pki/CA/certs/./etc/pki/CA/certs//etc/pki/CA/certs/

此文件是 Postfix 邮件服务器的主要配置文件。

[root@localhost ~] vim /etc/postfix/main.cf
添加如下信息

683 smtpd_use_tls = yes
684 smtpd_tls_cert_file = /etc/pki/CA/certs/servernew.crt
685 smtpd_tls_key_file = /etc/pki/CA/certs/server.key
686 smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache

它定义了各种邮件处理服务的参数和配置。

vim /etc/postfix/master.cf

#  -o syslog_name=postfix/smtps
 -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes

这意味着传入的 SMTP 连接将使用 TLS 进行加密,从而在邮件服务器和连接客户端之间提供安全通信。

 [root@localhost ~] vim /etc/dovecot/conf.d/10-ssl.conf 


14 ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
15 ssl_key = </etc/pki/dovecot/private/dovecot.pem
16 

这些行指定 Dovecot 使用的 SSL 证书和私钥文件的路径,

重启该服务

[root@localhost ~] systemctl restart dovecot

客户端测试

用win10专业版来做测试

安装foxmail

进入之后根据自己需求来选择邮箱账号

输入服务器类型为POP3输入账户密码 选择SMTP的SSL对钩创建即可

创建完成之后再创建一个用户用来测试使用

创建完成之后完成如下需求

接收完成实验结束

本篇灵感来源于:PostFix+Dovecot 部署邮件系统_postfix + dovecot-CSDN博客 

非常感谢作者的文章给我带来帮助 希望我们都能相互传递知识 互帮互助 共同成立美好的C站社区!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二叉树|701.二叉搜索树中的插入操作

力扣题目链接 class Solution { public:TreeNode* insertIntoBST(TreeNode* root, int val) {if (root NULL) {TreeNode* node new TreeNode(val);return node;}if (root->val > val) root->left insertIntoBST(root->left, val);if (root->val < val) r…

v-bind=“$attrs“ v-on=“$listeners“的理解及用法

前言&#xff1a; vue通信手段有很多种&#xff0c;props/emit、vuex、event bus、provide/inject 等&#xff0c;还有 a t t r s 和 attrs和 attrs和listeners&#xff0c;主要用于隔代传值 1、$attrs 官方解释&#xff1a;包含了父作用域中不作为 prop 被识别 (且获取) 的特…

敏捷开发——Axios

一创建一个项目&#xff0c;首先要解决的是跨域问题 解决跨域问题&#xff1a; 1. 服务端解决 2. 设置代理 配置完 config 文件一定要重启&#xff0c;否则不生效 1.设置代理服务器 vue.config.js 1)用"/api" 代替目标地址"https://www.pku.edu.cn" 2…

linux下使用迅雷的完美办法(网络版免费),其他下载工具

迅雷有自家服务器的支持&#xff0c;因此&#xff0c;其他下载器&#xff0c;可能难以匹敌 &#xff1f; linux下使用迅雷的完美办法&#xff08;免费&#xff09; https://blog.csdn.net/lqrensn/article/details/8853949 网络版 Linux下安装并使用迅雷 https://www.lxlin…

独立站攻略|如何使用SEO代理优化网站排名?

每天&#xff0c;互联网上都会生成和共享大量信息&#xff0c;这使得预测哪个关键字或主题将成为趋势变得很有挑战性&#xff0c;因此人们可以预测和优化他们的搜索引擎排名。但使用“SEO 代理”&#xff0c;就会使得SEO优化更加有效且精准。 一、什么是SEO&#xff1f; 简而言…

区块链dapp开发 dapp系统开发方案

在区块链技术的兴起和普及的推动下&#xff0c;去中心化应用程序&#xff08;DApp&#xff09;成为了当前数字世界中的热门话题之一。DApp 的开发不仅需要考虑技术方面的挑战&#xff0c;还需要深入了解区块链的工作原理和应用场景。本文将介绍一种 DApp 系统开发的基本方案&am…

2024河北采煤机械展览会|河北煤矿展会|石家庄煤业展会

2024中国&#xff08;石家庄&#xff09;国际煤炭装备及矿山设备博览会 时间&#xff1a;2024年7月4-6日 地点&#xff1a;石家庄国际会展中心.正定 随着全球能源结构的转型与升级&#xff0c;煤炭行业正面临前所未有的发展机遇与挑战。作为煤炭产业的重要组成部分&#xff0…

开源模型应用落地-qwen1.5-7b-chat-LoRA微调(二)

一、前言 预训练模型提供的是通用能力&#xff0c;对于某些特定领域的问题可能不够擅长&#xff0c;通过微调可以让模型更适应这些特定领域的需求&#xff0c;让它更擅长解决具体的问题。 本篇是开源模型应用落地-qwen-7b-chat-LoRA微调&#xff08;一&#xff09;进阶篇&#…

知名策略师上调微软目标价,微软后期走势将怎样?

KlipC报道&#xff1a;美国投行知名策略师Dan Ives将微软目标价从475美元上调至500美元&#xff0c;该新目标意味着较周一收盘价有18%的上涨空间。 值得一提的是Copilot是微软在Windows 11中加入的AI助手&#xff0c;该AI助手可以帮助用户完成各种任务。随着微软人工智能助理工…

QT中的 容器(container)简介

Qt库提供了一套通用的基于模板的容器类&#xff0c;可以用这些类存储指定类型的项。比如&#xff0c;你需要一个大小可变的QString的数组&#xff0c;则使用QVector<QString>。 这些容器类比STL&#xff08;C标准模板库&#xff09;容器设计得更轻量、更安全并且更易于使…

传播力研究期刊投稿发表

《传播力研究》杂志是经国家新闻出版总署批准&#xff0c;黑龙江日报报业集团主管主办&#xff0c;面向全国公开发行的学术刊物。本刊为新闻、传媒、传播学类专业院校师生、文化传播理论研究者和从业人员及爱好者&#xff0c;开展学术交流与研讨&#xff0c;汲取当今业界新鲜的…

无线开关量收发模块如何在远距离情况下监测工厂设备运行?

PLC无线通讯一般有以下几个应用场景&#xff1a; 【应用一】开关量信号1点对多点远距离无线通讯 支持点对点及1点对多点&#xff0c;多路开关量/数字量信号远距离无线传输通讯 【应用二】开关量信号多点对1点之间远距离无线通讯 PLC、泵阀、二次仪表、继电器等I/O开关量信号…

fastadmin学习05-开启debug以及配置

FastAdmin 框架提供了对 .env 环境变量配置的支持&#xff0c;并附带一个默认示例文件 .env.sample。在安装后&#xff0c;框架并不会自动启用 env 环境变量&#xff0c;需要手动将 .env.sample 复制为 .env 并进行配置。 如果不开启.env会读取database.php中的配置 下面测试…

Ribbon简介

目录 一 、概念介绍 1、Ribbon是什么 2、认识负载均衡 2.1 服务器端的负载均衡 2.2 客户端的负载均衡 3、Ribbon工作原理 4、Ribbon的主要组件 IClientConfig ServerList ServerListFilter IRule Iping ILoadBalancer ServerListUpdater 5、Ribbon支持…

QT QInputDialog弹出消息框用法

使用QInputDialog类的静态方法来弹出对话框获取用户输入&#xff0c;缺点是不能自定义按钮的文字&#xff0c;默认为OK和Cancel&#xff1a; int main(int argc, char *argv[]) {QApplication a(argc, argv);bool isOK;QString text QInputDialog::getText(NULL, "Input …

SQLServer CONCAT 函数的用法

CONCAT函数用于将多个字符串值连接在一起。以下是一个简单的示例&#xff0c;演示了如何使用CONCAT函数&#xff1a; -- 创建一个示例表 CREATE TABLE ExampleTable (FirstName NVARCHAR(50),LastName NVARCHAR(50) );-- 插入一些示例数据 INSERT INTO ExampleTable (FirstNam…

拥抱绿色革命!揭秘CAE仿真技术在风电能源领域的应用

众所周知&#xff0c;风能是清洁能源的代表&#xff0c;而风电更是其核心。伴随着全球电力需求的日益增长以及环保节能意识的逐渐加强&#xff0c;加强生态文明建设&#xff0c;推进绿色低碳发展&#xff0c;已成为当今社会的共识。政府工作报告提到&#xff0c;过去一年可再生…

MySQL高级SQL2

一、表连接 二、视图 三、null值和空值区别 四、存储过程 五、函数 六、字符串函数 七、日期时间函数

Java Swing游戏开发学习19

内容来自RyiSnow视频讲解 这一节讲的是**Entity ArrayList(Render Order Revised)**实体数组列表&#xff08;渲染顺序修改&#xff09;。 前言 由于NPC和player的实体碰撞区域比他们本身的大小要小&#xff0c;所以会造成一个bug&#xff0c;当前的绘制顺序是&#xff0c;NP…

【小尘送书-第十五期】Excel函数与公式应用大全for Excel 365 Excel

大家好&#xff0c;我是小尘&#xff0c;欢迎你的关注&#xff01;大家可以一起交流学习&#xff01;欢迎大家在CSDN后台私信我&#xff01;一起讨论学习&#xff0c;讨论如何找到满意的工作&#xff01; &#x1f468;‍&#x1f4bb;博主主页&#xff1a;小尘要自信 &#x1…