Postfix+Dovecot+Roundcube开源邮件系统搭建系列4:Dovecot安装配置

1. Dovecot安装

安装Dovecot:

yum -y install dovecot dovecot-mysql

启动服务并设置开机自启动:

systemctl start dovecot
systemctl enable dovecot

2. Dovecot配置

Dovecot配置文件目录:/etc/dovecot,在该目录中dovecot.conf和conf.d目录下的配置文件很重要,下面分别做配置介绍。

2.1 /etc/dovecot/dovecot.conf 配置文件:

该配置文件是dovecot的主配置,去掉注释,相对简单。主要内容如下:

# 启动imap、pop3、lmtp协议
protocols = imap lmtp pop3
# 监听所有地址,包含ipv4和ipv6
listen = *, ::
# 最大连接数限制
mail_max_userip_connections = 50
# 包含conf.d目录下所有的.conf配置文件
!include conf.d/*.conf
!include_try local.conf

2.2 /etc/dovecot/conf.d/10-mail.conf  配置文件:

增加或修改如下配置:

# 邮件存储位置,%d表示域名,%n表示用户名
mail_location = maildir:/var/mail/vhosts/%d/%n
# /var/mail的权限组设置为mail
mail_privileged_group = mail

2.3 用户及目录配置

添加用户和组:

groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /var/mail

创建域名目录:

# 域名需要根据实际更换
mkdir -p /var/mail/mailabc.cn

设置目录所有者和所有组:

chown -R vmail:vmail /var/mail/mailabc.cn
chown -R vmail:dovecot /etc/dovecot
chmod -R o-rwx /etc/dovecot

2.4 /etc/dovecot/conf.d/10-auth.conf 配置文件:

添加或修改如下配置:

# 禁用明文密码
disable_plaintext_auth = yes
# 密码授权机制设置为明文,即密码本身不做加密,我们已经启用了TLS传输加密
auth_mechanisms = plain login
# 引用该配置文件启用MySQL授权
!include auth-sql.conf.ext
# 屏蔽系统授权的配置
#!include auth-system.conf.ext

2.5 /etc/dovecot/conf.d/auth-sql.conf.ext 配置文件:

修改如下配置段内容:

passdb {driver = sql# 这里引入下面的配置文件作为mysql的相关参数args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {# 用户数据采用static (静态) 方式,通常,SQL数据库也可以做这件事,也可以通过它得到用户的UID,GID和主目录。但此处如果我们仅使用静态UID和GID,并且可以使用模板指定主目录,它会比SQL方式略快一些。driver = staticargs = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
}

2.6 /etc/dovecot/dovecot-sql.conf.ext 配置文件:

/etc/dovecot/conf.d/auth-sql.conf.ext 引用了该配置文件,用于查询用户和密码。具体内容如下(其中的数据库名称、授权用户及密码需要根据实际情况修改):

driver = mysql
connect = host=127.0.0.1 dbname=maildb user=mailuser password=admin@123
default_pass_scheme = SHA512-CRYPT
password_query = SELECT email as user, password FROM vt_user WHERE email='%u';

附件说明:查询必须返回用户名和密码,并且 Dovecot 必须在 user 和 password 变量中使用这些值。因此,如果数据库使用不同的列名称,请使用 AS SQL 命令重命名结果中的列。

2.7 /etc/dovecot/conf.d/10-master.conf 配置文件:

这个文件主要作用是为了打通dovecot和postfix的关联,授权postfix通过lmtp协议访问属于dovecot的地盘,访问权限是0600,表示有读写权限,但无执行权限。这个文件的源文件也比较庞杂,里面对多个协议都有设定,但是如果你全部把它们删了也没关系,等于采用默认设置。

参考内容如下:

service lmtp {unix_listener /var/spool/postfix/private/dovecot-lmtp {mode = 0600user = postfixgroup = postfix}
}service auth {unix_listener /var/spool/postfix/private/auth {mode = 0666user = postfixgroup = postfix}unix_listener auth-userdb {mode = 0600user = vmail}user = dovecot
}service auth-worker {user = vmail
}

2.8 /etc/dovecot/conf.d/10-ssl.conf 配置文件:

该配置文件主要用来配置ssl协议及相关证书。

ssl = required
# 指定证书位置,和Postfix采用相同的证书
ssl_cert = </var/sslcert/www.mailabc.cn.pem
ssl_key = </var/sslcert/www.mailabc.cn.key
ssl_cipher_list = PROFILE=SYSTEM

2.9 /etc/dovecot/conf.d/15-mailboxes.conf 配置文件:

这个文件是用来指定收件箱的命名空间的,auto = create表示当这些邮箱都没有的时候,就自动创建它,这里指定的都是常规的,比如收件箱,已发送,垃圾箱,已删除等等,如果需要别的种类,请自行研究。

namespace inbox {# inbox = yes配置是增加的,据说不加会有问题inbox = yesmailbox Drafts {auto = createspecial_use = \Drafts}mailbox Junk {auto = createspecial_use = \Junk}mailbox Trash {auto = createspecial_use = \Trash}mailbox Sent {auto = createspecial_use = \Sent}mailbox "Sent Messages" {auto = createspecial_use = \Sent}
}

3. 测试验证

至此,Dovecot 配置已完毕,可以重启服务进行测试验证。

stystemctl restart postfix dovecot

3.1 端口监听检查

通过netstat命令查看,可以看到110、143、993、995、587、25、465端口监听均正常。

[root@localhost ~]# netstat -tuanp | grep -i listen
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      2331/dovecot        
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN      2331/dovecot             
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      795/mariadbd        
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      1692/master         
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      2331/dovecot        
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      2331/dovecot            
tcp6       0      0 :::25                   :::*                    LISTEN      1692/master         
tcp6       0      0 :::993                  :::*                    LISTEN      2331/dovecot        
tcp6       0      0 :::995                  :::*                    LISTEN      2331/dovecot              
tcp6       0      0 :::3306                 :::*                    LISTEN      795/mariadbd        
tcp6       0      0 :::587                  :::*                    LISTEN      1692/master         
tcp6       0      0 :::110                  :::*                    LISTEN      2331/dovecot        
tcp6       0      0 :::143                  :::*                    LISTEN      2331/dovecot        
tcp6       0      0 :::465                  :::*                    LISTEN      1692/master

3.2 服务连通性检查

smtp服务:

[root@localhost ~]# telnet 0 25
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
220 mail.mailabc.cn ESMTP Postfix

pop3服务:

[root@localhost ~]# telnet 0 110
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
+OK Dovecot ready.

imap服务:

[root@localhost ~]# telnet 0 143
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.

3.3 客户配置测试

Foxmail配置imap协议,并进行收发测试。

Foxmail客户端配置

至此,Dovecot配置完毕。

其他配置请参考本系列其他文章。

参考来源:Postfix+Dovecot+Roundcube开源邮件系统搭建系列4:Dovecot安装配置 | MailABC邮件知识百科

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【内网穿透】如何本地搭建Whisper语音识别模型并配置公网地址

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

视频联网共享平台LntonCVS视频监控汇聚平台视频云解决方案

LntonCVS流媒体平台是一款遵循国家GB28181标准协议的先进视频监控与云服务平台。该平台设计独特&#xff0c;能够同时接入并处理多路设备的视频流&#xff0c;支持包括RTSP、RTMP、FLV、HLS、WebRTC在内的多种视频流格式的分发。其功能丰富多样&#xff0c;涵盖了视频直播监控、…

基于STM32的全栈嵌入式解决方案:LoRa、MQTT和阿里云IoT平台构建的智慧农业监控系统(附代码示例)

摘要&#xff1a; 随着科技的进步&#xff0c;物联网技术在农业领域的应用越来越广泛。本文介绍一个基于物联网的智慧农业监控系统&#xff0c;该系统可以实时监测农田的环境数据&#xff0c;并根据数据自动控制灌溉、施肥等操作&#xff0c;提高农业生产效率。 关键词&#x…

微分段Microsegmentation简介

目录 微分段Microsegmentation简介什么是微分段&#xff1f;微分段的防范措施微分段的防护层级 基于网络的微分段微分段基本工作机制微分段的角色VxLAN的额外字段 业务链分组与传输策略场景1&#xff1a;三层报文本地转发场景场景2&#xff1a;三层报文跨设备转发场景 微分段的…

【深度学习】PyTorch框架(5):Transformer和多注意力机制

1、引言 在本文中&#xff0c;我们将探讨近两年来最具影响力的模型架构之一——Transformer模型。自从2017年Vaswani等人发表的论文《注意力是你所需要的全部》以来&#xff0c;Transformer架构在多个领域持续刷新着性能记录&#xff0c;尤其是在自然语言处理&#xff08;NLP&…

python入门课程Pro(1)--数据结构及判断

数据结构及判断 第1课 复杂的多向选择1.if-elif-else2.if嵌套3.练习题&#xff08;1&#xff09;大招来了&#xff08;2&#xff09;奇数还是偶数&#xff08;3&#xff09;简洁代码 第2课 数据与判断小结1.变量2.格式化输出3.逻辑运算-或与非4.判断条件5.练习题&#xff08;1&…

LNK1342中文报错乱码

如图所示&#xff0c;因编译中存在中文而报错“常量中有换行符”或者直接报错LNK1342且中文报错乱码 无论是使用UTF-8还是GBK编译都会报错&#xff0c;并且修改控制台的格式936或65001也无法解决 解决办法&#xff1a;检查你的注册表编辑器 以下位置&#xff0c;如果安装了VS…

Java无模版导出Excel 0基础教程

0 写在前面 经常写数据导出到EXCEL&#xff0c;没有模板的情况下使用POI技术。以此作为记录&#xff0c;以后方便使用。 1 依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</v…

C# 各版本语法新功能汇总

C# 8.0 以后 官网 C# 7.3 》》in C# 7.2 》》 命名参数、具名参数 》》》 条件 ref 表达式 C# 7.1 》》 default 运算符 default 在C#7.1中得到了改进&#xff0c;不再需要default&#xff08;T&#xff09;了 //变量赋值C#7.0 var s "字符串"; s default(s…

鸿蒙基本工程目录

工程级目录 AppScope 中存放应用全局所需要的资源文件。entry 是应用的主模块&#xff0c;存放 HarmonyOS 应用的代码、资源等。oh_modules 是工程的依赖包&#xff0c;存放工程依赖的源文件。build-profile.json5 是工程级配置信息&#xff0c;包括签名、产品配置等。hvigorf…

一文带你了解 GB 18030-2022 字符集

GB18030 全称《‌信息技术 中文编码字符集》‌&#xff0c;‌是我国信息技术领域的强制性国家标准之一&#xff0c;是中华人民共和国国家标准所规定的变长多字节字符集&#xff0c;字符以单字节、双字节或四字节编码。 当前执行标准为 GB 18030-2022&#xff0c;于 2023 年 8 月…

Linux·权限与工具(上)

1. shell命令以及运行原理 Linux严格意义上来说是一个操作系统&#xff0c;我们称之为 "核心(kernel)" &#xff0c;但我们一般的用户不呢个直接使用到核心&#xff0c;因为不会用。所以开发者在核心外面封装了一层 "外壳(shell)" 程序&#xff0c;来与核心…

24暑假算法刷题 | Day15 | LeetCode 110. 平衡二叉树,257. 二叉树的所有路径,404. 左叶子之和,222. 完全二叉树的节点个数

目录 110. 平衡二叉树题目描述题解 257. 二叉树的所有路径题目描述题解 404. 左叶子之和题目描述题解 222. 完全二叉树的节点个数题目描述题解 110. 平衡二叉树 点此跳转题目链接 题目描述 给定一个二叉树&#xff0c;判断它是否是平衡二叉树 平衡二叉树 是指该树所有节点的…

VMware Vsphere创建虚拟机

作者&#xff1a;红米 一、上传系统镜像 1、打开数据中心 2、新建文件夹&#xff0c;存放镜像 3、点击上传文件按钮 4、找到本地镜像上传 二、安装虚拟机 1、创建虚拟机 2、选择创建类型 3、为虚拟机命名并选择虚拟机安装的所在位置 4、选择计算资源 5、选择存储 6、选择兼容…

Linux系统部署MySQL数据库

1.Linux插入光盘&#xff0c;使用df-h获取光盘信息&#xff0c;默认/dev/sr0文件为光盘文件 使用命令 mount -o ro /dev/sr0 /media进行手动挂载 mount -o ro /dev/sr0 /media 2.进入cd /etc/yum.repos.d目录 编辑配置yum库&#xff0c;编辑vim yum.repos [BaseOS] nameba…

什么是IoC控制反转思想?

目录 一.什么是IoC&#xff1f; IoC核心思想 一.什么是IoC&#xff1f; IoC&#xff08;Inversion of Control&#xff09;即控制反转&#xff0c;这里的控制是代表控制权的意思&#xff0c;IoC是一种编程思想&#xff0c;旨在降低代码之间的耦合度、降低代码的维护成本。…

算法力扣刷题记录 五十二【617.合并二叉树】

前言 二叉树篇&#xff0c;继续。 记录 五十二【617.合并二叉树】 一、题目阅读 给你两棵二叉树&#xff1a; root1 和 root2 。 想象一下&#xff0c;当你将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而另一些不会&#xff09;。你需要…

算法day04 位运算 插入排序 二分法 对数器

位运算: 1&#xff09;有一个数组只包含这样的数&#xff0c;有几个数出现偶数次&#xff0c;有1个数出现奇数次&#xff0c;要求时间复杂度不超过o(n),怎么求出现奇数次的数。 使用 ^ 异或运算整个数组&#xff0c;偶数次运算结果为0&#xff0c;只留下最后一个奇数次的数。 …

【元器件】二极管、三极管、MOS管

二极管 D 二极管是一种具有两个电极&#xff08;即正极和负极&#xff09;的电子器件。它是一种非线性元件&#xff0c;具有许多重要的功能和应用 三极管 Q 概述 一种控制电流的半导体器件&#xff0c;其作用是把微弱信号放大成幅度值较大的电信号&#xff0c;也用作无触点开…

鸿蒙语言基础类库:【@system.prompt (弹窗)】

弹窗 说明&#xff1a; 从API Version 8 开始&#xff0c;该接口不再维护&#xff0c;推荐使用新接口[ohos.prompt]。本模块首批接口从API version 3开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import prompt from system.prompt;…