如何在 Ubuntu 上安装和配置 Dovecot

2023-10-30

Dovecot 是一款开源 IMAP 和 POP3 电子邮件服务器,因其可靠性、可扩展性和易用性而被广泛使用。 POP3(邮局协议 3)和 IMAP(互联网消息访问协议)都是用作消息访问代理的协议。这些协议用于从邮件服务器上的用户收件箱中获取电子邮件。简而言之,POP3 和 IMAP 负责从邮箱中获取邮件并将其显示在您的移动设备或 Web 界面上。

在本文中,我们将指导您完成在 Ubuntu 系统上安装和配置 Dovecot 的过程。

先决条件

  • 正在运行的 Ubuntu 系统
  • 预先配置的邮件服务器和用户邮箱
  • 使用 root 或 sudo 特权帐户进行 shell 访问

第 1 步:在 Ubuntu 上安装 Dovecot

基于 Debian 的系统具有用于 IMAP 和 POP3 协议的单独的 Dovecot 软件包。要安装支持 POP3 和 IMAP 功能的 Dovecot 服务器,请运行以下命令:

sudo apt update 
sudo apt install dovecot-imapd dovecot-pop3d 

这将安装 Dovecot 的核心组件以及 IMAP 和 POP3 协议。 dovecot-core 包提供了核心 Dovecot 服务器,而达夫科特-imapd and dovecot-pop3d包提供支持IMAP and POP3协议,分别。

您还可以安装各种 Dovecot 模块,例如 MySQL 和 PostgreSQL 数据库支持、邮件过滤、全文搜索、垃圾邮件过滤器培训和 LDAP 目录。要安装附加模块,请运行:

sudo apt install dovecot-sieve dovecot-solr dovecot-antispam 

第 2 步:配置 Dovecot

默认的 Dovecot 配置文件位于 /etc/dovecot/dovecot.conf。在对此文件进行任何更改之前,最好创建一个备份副本。为此,请运行以下命令:

sudo cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.bak 

Dovecot 配置文件相当广泛,因此我们将重点关注一些最重要的设置。

  1. 启用协议
  2. 默认情况下,Dovecot 在主配置文件中启用了 POP3 和 IMAP 协议。您可以编辑主配置文件并查看:

    sudo nano /etc/dovecot/dovecot.conf 
    

    从配置文件中取消注释以下条目。

    1
    !包含尝试 /usr/share/dovecot/协议.d/*。协议

  3. 配置身份验证
  4. 您需要配置的首要设置之一是身份验证。 Dovecot 支持多种身份验证机制,包括纯文本、CRAM-MD5 和 OAuth2。要启用身份验证,请取消注释以下行“/etc/dovecot/dovecot.conf”配置文件:

    1
    !include auth-system.conf.ext

    保存文件并关闭它。

    然后编辑 Dovecot 的身份验证文件并更新以下值。

    sudo nano /etc/dovecot/conf.d/10-auth.conf 
    
    1
    2
    禁用_明文_验证 = no
    授权机制 = plain login

  5. 监听接口
  6. 默认情况下,Dovecot 监听所有接口,包括 IPV6。但如果您需要将它们限制为特定的界面编辑:

    sudo nano /etc/dovecot/dovecot.conf 
    
    1
    listen = *, ::

    将“*”替换为接口IP,例如“192.168.1.10”

  7. 配置邮箱位置
  8. 默认情况下,Dovecot 将用户邮箱存储在 /var/mail 中。如果您希望将邮箱存储在其他位置,可以修改配置文件中的 mail_location 设置。

    sudo nano /etc/dovecot/conf.d/10-mail.conf 
    

    例如,如果要将邮箱存储在 /home/Maildir 中,可以将以下行添加到配置文件中:

    1
    邮件位置 = maildir:~/Maildir

  9. 设置用户
  10. 接下来,编辑以下配置文件并设置运行的邮件服务器的用户名和组名。

    sudo nano /etc/dovecot/conf.d/10-master.conf 
    
    1
    2
    3
    4
    5
      unix_监听器 /var/spool/postfix/private/auth {
        mode = 0666
        user = postfix
        group = postfix
      }

  11. 启用 SSL/TLS
  12. 为了保护电子邮件通信的安全,您应该启用 SSL/TLS 加密。为此,请打开/etc/dovecot/conf.d/10-ssl.conf文件并进行以下更改:

    sudo nano /etc/dovecot/conf.d/10-ssl.conf 
    
    1
    2
    3
    ssl = yes
    ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem
    ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key

    这些设置启用 SSL/TLS 加密并指定 SSL 证书和密钥文件的位置。在此示例中,我们使用 Ubuntu 附带的默认自签名证书。

第 3 步:启动并启用 Dovecot

完成 Dovecot 的配置后,您可以使用以下命令启动 Dovecot 服务:

sudo systemctl start dovecot 

要确保 Dovecot 在引导时自动启动,请运行以下命令:

sudo systemctl enable dovecot 

这将使 Dovecot 在系统启动时自动启动。

第4步:测试配置

要测试 Dovecot 安装是否正常工作,您可以使用电子邮件客户端,例如 Thunderbird 或 Outlook。您需要配置电子邮件客户端以使用 IMAP 或 POP3 协议连接到 Dovecot 服务器,具体取决于您在配置文件中启用的协议。

配置电子邮件客户端时,请确保使用正确的服务器主机名和端口号。默认情况下,Dovecot 在端口 143 上侦听 IMAP,在端口 110 上侦听 POP3。如果启用了 SSL/TLS 加密,则需要使用启用了 SSL 的端口,对于 IMAP 为 993,对于 POP3 为 995。

为了测试这个设置,我在 Ubuntu 系统上创建了一个名为“rahul”的帐户。这mboxPostfix 服务器上的设置配置为〜/邮件目录目录。

接下来,您需要一个 mutt 命令行实用程序来使用 IMAP 协议连接邮箱。

sudo apt install mutt 

然后使用以下命令连接到邮箱:

mutt -f imaps://rahul@localhost 

这将提示接受证书(按a总是接受)。之后,它会提示输入密码。输入用户密码并按 Enter 键。您将看到您帐户的电子邮件。

第 5 步:使用 FirewallD 打开端口

对于运行防火墙的系统,需要允许以下端口以允许从网络访问。以下是 POP3 和 IMAP 协议使用的端口列表:

  • IMAP – 143
  • IMAPS – 993
  • POP3 – 110
  • POP3S – 995

要添加防火墙规则,请执行以下命令:

sudo firewall-cmd --add-service={pop3,imap} --permanent 
sudo firewall-cmd --add-service={pop3s,imaps} --permanent 

然后重新加载更改。

sudo firewall-cmd --reload 

结论

在本文中,我们向您展示了如何在 Ubuntu 上安装和配置 Dovecot。通过执行这些步骤,您现在应该拥有一个功能齐全的电子邮件服务器,它支持 IMAP 和 POP3 协议,并提供 SSL/TLS 加密以实现安全通信。 Dovecot 是一款功能强大且灵活的电子邮件服务器,可以进行自定义以满足几乎任何组织的需求,因此请随意尝试设置以找到最适合您的配置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 上安装和配置 Dovecot 的相关文章

  • php从邮件正文中提取文本/纯文本

    这是 imap php 库读取的一封邮件的内容 我会提取内容类型 text plain 字符集 ISO 8859 1 文本 data 10 10 2011 regione pt provincia pistoia nome nome tel
  • 如何从 imap 只下载新邮件?

    我有一个用于使用 imap 存档电子邮件的应用程序 此应用程序中还有许多需要存档的 imap 帐户 此时 应用程序会不时连接到 imap 帐户并仅下载新电子邮件 我的问题是 每次连接到 imap 帐户时 它都会验证所有文件夹中的所有电子邮件
  • imap 自定义关键字

    我从哪开始呢 我似乎找不到任何明确的文档 我可能找错地方了 我希望能够编辑电子邮件的 IMAP 关键字 用于标记目的 我有一些非常菜鸟的问题 它们是如何添加的 关键字是否直接应用于消息标头 如果是 语法是什么 或者是否有其他类型的 imap
  • 如何使用 Python IMAP 从 Gmail 邮件中删除“来自无人”和“内容类型”?

    尽管我在从很多网站进行大量搜索后完成了大部分工作 但我仍然无法获得我想要的正确输出 Code import imaplib import smtplib import email mail imaplib IMAP4 SSL imap gm
  • Ruby 和 IMAP - 使用 Oauth 2.0 访问 Office 365

    因此众所周知 MS 禁用了 IMAP 进行基本身份验证 我试图弄清楚如何使用 ruby 而不是 ruby on Rails 让 OAUTH 2 0 工作 我有 Azure APP 和所需的一切 我认为 但我找不到与 ruby 和获取访问令牌
  • 2022 年 5 月 30 日之后如何通过 Google 使用 MailKit?

    到目前为止 我很高兴使用类似于以下的方法连接到我的 Gmail 帐户 public async Task
  • 您建议使用哪个 Perl 模块来发送和接收电子邮件?

    我正在搜索 Perl 模块来写入 SMTP 和读取 IMAP 电子邮件 您会建议使用哪个模块 对于电子邮件发送 电子邮件 发件人 http search cpan org perldoc Email Sender Manual QuickS
  • 如何以编程方式 (C#) 从 POP3 邮件中获取附件?

    是否有任何 C API 可以完成此任务 有什么建议么 我用过 n 软件 http www nsoftware com ipworks 过去取得了成功 不是免费的 但是嘿 如果它不起作用 你就可以责怪别人 换句话说 你得到公司的技术支持 他们
  • 使用 Zend 框架无法从收件箱获取某些电子邮件的消息正文?

    我正在尝试阅读我的应用程序的电子邮件收件箱 我在这里使用 zend 框架 问题是我无法检索某些电子邮件的邮件正文 以下是我如何执行此操作的代码 mail new Zend Mail Storage Imap mail options all
  • 使用加密密码连接到 gmail(使用 imap 和 javamail)

    我正在尝试使用一个简单的java程序连接到gmail 像这个 https harikrishnan83 wordpress com 2009 01 24 access gmail with imap using java mail api
  • 如何通过代理通过 POP 或 IMAP 获取电子邮件?

    poplib 或 imaplib 似乎都不提供代理支持 尽管我尝试了 google fu 但我找不到太多有关它的信息 我正在使用 python 从各种支持 imap pop 的服务器获取电子邮件 并且需要能够通过代理来完成此操作 理想情况下
  • 以编程方式配置 Outlook 邮件设置?

    想知道是否有一种简单的方法可以通过编程方式向 Outlook 的邮件服务器设置添加和配置 POP3 服务器 搜索 Google 似乎得到的结果告诉我 我必须对存储在 HKCU Software Microsoft Windows NT Wi
  • 如何在 Rails3 中使用 oauth 连接到 Gmail 的 IMAP 服务器?

    我找到了gmail xoauth http github com nfo gmail xoauthgem 它可以完成我需要的大部分功能 但我还需要从 Rails3 内部生成 oauth 令牌 consumer key 和consumer s
  • JavaMail 连接到 Office 365 XOAUTH2 进行 IMAP 身份验证失败

    使用 OAuth2 0 在线 Office365 面临连接问题 我已经设置了应用程序权限以及 IMAP 和 SMTP 连接 基本身份验证似乎工作正常 我相信 IMAP 已启用 我的应用程序配置为任何组织目录 任何 Azure AD 目录 多
  • PHP IMAP 解码消息

    我有通过 Base64 编码和 8 位编码发送的电子邮件 我想知道如何使用 imap fetchstruct 检查消息的编码 已经这样做了大约两个小时 所以丢失了 然后正确解码 Gmail 和 Mailbox iOS 上的应用程序 将其作为
  • perl imap 将邮件移至垃圾箱 (Mail::IMAPClient)

    我需要将所有未见的邮件移至垃圾箱 然后从收件箱中删除 my inbox imap gt select Inbox my mails imap gt unseen foreach my msgid mails imap gt set flag
  • 需要使用 imap php 保存电子邮件副本,然后可以在 Outlook Express 中打开

    我有 IMAP PHP 脚本 它连接并读取邮箱中的电子邮件 我正在寻找的是 我想将电子邮件保存在服务器磁盘上 并将其命名为 testing eml 文件 因此 当我稍后记下这些电子邮件时 可以在 Outlook Express 中查看 任何
  • IMAP 转发器

    我想知道从 IMAP 帐户转发邮件的最快 最可靠的方法是什么 我的大学不允许我们的学生邮箱转发到私人电子邮件帐户 这里每个人都使用 Gmail 或 Hotmail 这是一个政治问题 而不是技术问题 我们确实可以通过 IMAP 访问邮箱 我想
  • IMAP 获取主题

    通过 telnet 使用 IMAP 我希望能够从特定的给定电子邮件中提取主题 现在我知道 fetch 命令负责从电子邮件中获取数据 我的问题是 如何具体获取主题标题 without使用对 BODY HEADER FIELDS SUBJECT
  • 使用 VCalendar 更改组织者的活动描述

    目前我们正在使用 Outlook 创建会议并将其发送到电子邮件 x 每当 imap 邮箱 x 收到电子邮件时 它都会自动解析并将更新的 iCal 文件 带有新描述 发送给所有添加的参与者和组织者 除组织者外 所有参与者一切正常 组织者 Ou

随机推荐

  • 腾讯云服务器+ContOS 7.6安装MySql(一)

    腾讯云服务器 ContOS 7 6安装MySql 本地远程登录 近日斥巨资采购了一台腾讯腾讯轻量云服务器 2CPU2G内存5M带宽包月500G的 价格是398一年 买的时候刚好618活动吗 不然还得更贵 这都是题外话 先来看一下买好的服务器
  • MySQL学习笔记(基础篇)

    一 SQL语言的规则与规范 1 SQL大小写规范 建议遵守 MySQL 在 Windows 环境下是大小写不敏感 推荐采用统一的书写规范 数据库名 表名 表别名 字段名 字段别名等都小写 SQL 关键字 函数名 绑定变量等都大写 2 注释
  • spark端口作用配置及修改

    spark端口作用配置及修改 Master节点的web端口是8080 仅在 standalone模式使 配置方式在spark env sh加一行 export SPARK MASTER WEBUI PORT 8080 work节点的web端
  • 汇编指令对应的十六进制表示

    空 nop jmp 32位立即数 jmp a E9 a jmp 内存地址 jmp 0x8d8d3a FF25 0x8d8d3a jmp far 内存地址 jmp far 0x8d8d3a FF2D 0x8d8d3a 直接远跳 jmp 0x8
  • 外键SQL语句的编写

    学习目标 能够写出删除外键约束的SQL语句 1 外键约束作用 外键约束 对外键字段的值进行更新和插入时会和引用表中字段的数据进行验证 数据如果不合法则更新和插入会失败 保证数据的有效性 2 对于已经存在的字段添加外键约束 为cls id字段
  • chatGPT之Python API启用上下文管理

    chatGPT已经爆火一段时间了 我想大多数的开发者都在默默的在开发和测试当中 可能也是因为这个原因所以现在很难找到关于开发中遇到的一些坑或者方法和技巧 为什么别人的机器人能联想之前的语料 而你的却像个每次都只如初见的高冷机器人 我也是参考
  • vue 开发插件二

    接上一篇 vue 开发插件 一 完善插件交互逻辑 插件讲究高度配置化 弹框提示的插件要始终保持一个 并且要保证上一个弹框已经关闭 处理配置参数 定义一个方法来接受弹框内容和配置进行处理参数 并且有默认的参数 同时判断显示隐藏 如果只是传入一
  • QT_QPalette、背景颜色

    catalog 设置主 子widget背景颜色 Obsolete setColor setBrush 设置背景颜色 设置主 子widget背景颜色 this palette setColor QPalette Window QColor r
  • 内部类访问权限

    内部类 一种隐藏和组织代码的模式 1 普通内部类拥有其外围类的所有元素的访问权 没有任何限制 2 静态内部类只能访问外部类的静态成员变量 class Outer static int x static class Inner void te
  • jQuery手记 —— jQuery 中 .attr() .prop() .data() 的区别

    未完待续
  • sed 将文件中的某一列与另一列互换

    使用sed 将文件中的某一列与另一列互换 我们将一个文件中的第1列和第2列互换 其实就是将每行的第1个字符和第2个字符互换 步骤 1 将每行文本拆分为 第1个字符 第2个字符 剩下的所有字符 三个部分 2 然后通过替换操作重排顺序为 2 1
  • WebMvcConfigurer实现跨域请求

    添加一个配置类WebMvcConfiguration 在类上添加 Configuration注解 实现WebMvcConfigurer Configuration public class WebMvcConfiguration imple
  • C#中Replace的用法

    使用sql replace 需要替换的 替换用的字段 var replace hello welcome to New York city Console WriteLine replace var chang replace Replac
  • 书签列表

    我自己的书签列表 guid root title index 0 dateAdded 1638246398224000 lastModified 1693836173694000 id 1 typeCode 2 type text x mo
  • 怎么把计算机上打印任务解除,如何终止打印机任务_如何停止打印机任务-win7之家...

    我们在使用打印的时候 会遇到打印机卡纸或者没纸的情况 但是打印机任务还在继续 是需要把打印任务给停止了 但有些用户还是不会终止打印任务 那么要如何终止打印机任务呢 下面小编给大家分享停止打印机任务的方法步骤 解决方法 方法一 1 右键点击桌
  • LoadRunner获取登录验证码

    原理很简单 用一个请求去刷新认证码返回页面 然后通过关联将返回的图片保存为硬盘的一个文件 然后用ocr去识别这个文件内容 保存结果到txt 最后用LR读这个文本就可以得到认证码 方法都是在网上搜的 但是本人经过实验验证成功了 代码如下 Ac
  • keyError:255 (Python连接数据库时)出错的解决办法:

    用Python连接数据库时的出现错误 解决办法 把pymysql包升级一下就好了 如果是用anaconda安装的Python 则在相应的环境中把pymysql 更新 update 一下
  • 如何在 AWS 实例上设置 WHM 和 cPanel

    WHM cPanel 是广泛用于 Linux 托管环境的基于 Web 的系统管理控制面板 要在AWS环境上使用WHM cPanel 我们将面临正常实例的问题 因此 我们更喜欢在aws中使用VPC 虚拟私有云 来安装WHM和cPanel服务器
  • 如何在 Debian 10 上安装 Google Cloud SDK

    谷歌云SDK提供了一组用于管理 Google Cloud Platform GCP 上托管的资源的工具 Cloud SDK 软件开发工具包 提供 gcloud gsutil 和 nd bq 命令 能够通过终端访问 Google Cloud
  • 如何在 Ubuntu 上安装和配置 Dovecot

    Dovecot 是一款开源 IMAP 和 POP3 电子邮件服务器 因其可靠性 可扩展性和易用性而被广泛使用 POP3 邮局协议 3 和 IMAP 互联网消息访问协议 都是用作消息访问代理的协议 这些协议用于从邮件服务器上的用户收件箱中获取