邮件服务器配置与管理 搭建邮件服务器的方法

在这一系列文章中,我们将向您展示如何使用Postfix、Dovecot和openssl在ubuntu系统上构建一个可靠且易于配置的邮件服务器。—卡拉·施罗德文本导航-一些术语23%-啊,我们

本文最后更新时间:  2023-04-17 22:19:53

在这一系列文章中,我们将向您展示如何使用Postfix、Dovecot和openssl在ubuntu系统上构建一个可靠且易于配置的邮件服务器。

—卡拉·施罗德

文本导航

-一些术语23%-啊,我们仍然有 sendmail48%-安装 Postfix52%

编译自:https://www . Linux . com/learn/how-build-email-server-Ubuntu-Linux
作者:卡拉·施罗德译者:王一航

在这个容器和微服务技术飞速发展的时代,幸运的是,有些东西并没有改变。比如,在Linux下设置一个邮件服务器,将各种服务器相互隔离,仍然需要很多步骤。但是,当你配置好,放在一起的时候,它们是非常可靠稳定的,不会像微服务一样,一闭眼就消失了。在这一系列教程中,我们将使用Postfix、Dovecot和openssl在ubuntu系统上构建一个可靠且易于配置的邮件服务器。

Postfix是一个古老而可靠的软件,它比sendmail(原始Unix系统的MTA软件)更容易配置和使用(还有人在使用sendmail吗?)。Exim是Debain系统上默认的MTA软件,比Postfix轻,超级容易配置,所以我们会在以后的教程中介绍Exim的教程。

Dovecot(LCTT译:详情请阅读维基百科[1])和Courier是两款非常受欢迎的优秀IMAP/POP3协议服务器软件。Dovecot更轻,更容易配置。

你必须确保你的邮件通信是安全的,所以我们需要使用OpenSSL,它也提供了一些有用的工具来测试你的邮件服务器。

为了简单起见,在这一系列教程中,我们将指导您在局域网上安装邮件服务器。您应该在局域网中有域名服务,并确保它已启用且工作正常。查看这篇文章“用dnsmasq [2]轻松地为局域网提供DNS服务”会有所帮助。然后,您可以通过注册域名并相应地配置防火墙,将此局域网服务器变成可通过互联网访问的邮件服务器。网上有很多关于这个过程的详细教程,这里就不赘述了。请继续跟随教程。

一些术语

我们先快速学习一些术语,因为当我们知道这些术语的时候,我们就知道这些是什么鬼东西了。:D

MTA:邮件传输代理Mail Transfer Agent,基于 SMTP 协议(简单邮件传输协议)的服务端,比如 Postfix、Exim、Sendmail 等。SMTP 服务端彼此之间进行相互通信(LCTT 译注 : 详情请阅读维基百科[3])。MUA: 邮件用户代理Mail User Agent,你本地的邮件客户端,例如 : Evolution、KMail、Claws Mail 或者 Thunderbird(LCTT 译注 : 例如国内的 Foxmail)。POP3:邮局协议Post-Office Protocol版本 3,将邮件从 SMTP 服务器传输到你的邮件客户端的的最简单的协议。POP 服务端是非常简单小巧的,单一的一台机器可以为数以千计的用户提供服务。IMAP: 交互式消息访问协议Interactive Message Access Protocol,许多企业使用这个协议因为邮件可以被保存在服务器上,而用户不必担心会丢失消息。IMAP 服务器需要大量的内存和存储空间。TLS:传输套接层Transport socket layer是 SSL(安全套接层Secure Sockets Layer)的改良版,为 SASL 身份认证提供了加密的传输服务层。SASL:简单身份认证与安全层Simple Authentication and Security Layer,用于认证用户。SASL进行身份认证,而上面说的 TLS 提供认证数据的加密传输。StartTLS: 也被称为伺机 TLS 。如果服务器双方都支持 SSL/TLS,StartTLS 就会将纯文本连接升级为加密连接(TLS 或 SSL)。如果有一方不支持加密,则使用明文传输。StartTLS 会使用标准的未加密端口 25 (SMTP)、 110(POP3)和 143 (IMAP)而不是对应的加密端口 465(SMTP)、995(POP3) 和 993 (IMAP)。

啊,我们还有sendmail。

大多数Linux版本仍然保留/usr/sbin/sendmail。这是古代MTA只有一个sendmail时留下的痕迹。在大多数Linux发行版中,/usr/sbin/sendmail将被象征性地链接到您安装的MTA软件。如果你的Linux中有它,不要担心,你的发行版会自己处理的。

安装后缀

使用apt-get install postfix进行基本安装时要注意(图1)。安装程序将打开一个向导,询问您想要构建什么类型的服务器。你得选择“互联网服务器”,虽然这是局域网服务器。它将让您输入完全限定的服务器域名(例如:myserver.mydomain.net)。对于局域网服务器,假设你的域名服务已经配置好了,(我多次提到这一点是因为这里经常有人出错),你也可以只使用主机名。

图1:后缀配置。

Ubuntu将为Postfix创建一个配置文件,并启动三个守护进程:master、qmgr和pickup。这里没有名为Postfix的命令或守护程序。(LCTT翻译:名为postfix的命令是一个管理命令。)

$ ps ax 6494 ? Ss 0:00 /usr/lib/postfix/master 6497 ? S 0:00 pickup -l -t unix -u -c 6498 ? S 0:00 qmgr -l -t unix -u

您可以使用Postfix的内置配置语法检查来测试您的配置文件。如果不行,就什么也输出不了。

$ sudo postfix check [sudo] password for carla:

使用netstat验证postfix是否正在监听端口25。

$ netstat -ant tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN tcp6 0 0 :::25 :::* LISTEN

现在让我们用旧的telnet进行测试:

$ telnet myserver 25 Trying 127.0.1.1... Connected to myserver. Escape character is '^]'. 220 myserver ESMTP Postfix (Ubuntu) EHLO myserver250-myserver 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN ^]telnet>

嘿,我们已经验证了我们的服务器名,Postfix正在监听SMTP的25端口并响应我们输入的命令。

按]终止连接并返回telnet。输入quit退出telnet。输出的ESMTP(扩展SMTP) 250状态代码如下。ESMTP (Extended SMTP),即扩展SMTP,是标准SMTP协议的扩展。详情请阅读维基百科[4])

PIPELINING 允许多个命令流式发出,而不必对每个命令作出响应。SIZE 表示服务器可接收的最大消息大小。VRFY 可以告诉客户端某一个特定的邮箱地址是否存在,这通常应该被取消,因为这是一个安全漏洞。ETRN 适用于非持久互联网连接的服务器。这样的站点可以使用 ETRN 从上游服务器请求邮件投递,Postfix 可以配置成延迟投递邮件到 ETRN 客户端。STARTTLS (详情见上述说明)。ENHANCEDSTATUSCODES,服务器支撑增强型的状态码和错误码。8BITMIME,支持 8 位 MIME,这意味着完整的 ASCII 字符集。最初,原始的 ASCII 是 7 位。DSN,投递状态通知,用于通知你投递时的错误。

Postfix的主配置文件是:/etc/Postfix/main.cf,由安装程序创建。你可以参考这个资料[5]来查看main.cf参数的完整列表。
/etc/postfix/postfix-files该文件描述了postfix的完整安装文件。

在接下来的教程中,我们会讲解Dovecot的安装和测试,然后给自己发一些邮件。

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。