在CentOS 7上使用Dovecot和RoundCube设置Postfix邮件服务器

2020年12月31日19:40:42 发表评论 68 次浏览

介绍

了解如何在运行CentOS 7的Cloud Server上设置邮件服务器。本教程将Postfix用作SMTP服务器, 将Dovecot用作POP / IMAP功能, 并将RoundCube用作Webmail程序, 供用户检查和接收来自Web浏览器的电子邮件。

本教程还将引导你完成创建和使用自签名SSL证书以保护传入和传出电子邮件连接的过程。

要求

  • 运行CentOS 7的云服务器。
  • Postfix已安装并正在运行。

要检查服务器上Postfix的状态, 请使用以下命令:

sudo postfix status

如果Postfix已安装并正在运行, 你将看到输出:

[user@localhost ~]# sudo postfix status
postfix/postfix-script: the Postfix mail system is running: PID: 1681

防火墙访问

如果你有防火墙, 则需要允许访问以下端口:

  • SMTP:25
  • POP3:110
  • IMAP:143
  • SMTP安全:465
  • MSA:587
  • IMAP安全:993
  • POP3安全:995

有关在Cloud Server上使用防火墙的更多信息, 请查阅我们关于该主题的文档.

创建一个SSL证书

我们将创建一个自签名SSL证书, 以保护传入和传出的电子邮件连接:

sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout mailserver.key -out mailserver.crt -nodes -days 365

在提示时回答问题, 或直接按[Enter]保留答案空白。此命令将创建两个文件:mailserver.key和mailserver.crt.

为SSL证书文件创建一个文件夹:

sudo mkdir /etc/postfix/ssl

然后将文件移到该文件夹​​中:

sudo mv mailserver.key /etc/postfix/ssl
sudo mv mailserver.crt /etc/postfix/ssl

配置后缀

以下步骤将启用基本的Postfix设置, 使你可以发送和接收邮件。有关这些配置的更多信息, 查阅官方文件.

在开始配置更改之前, 请通过运行以下命令确保你具有最新版本的Postfix:

sudo yum update postfix

编辑master.cf

首先, 我们将编辑/etc/postfix/master.cf文件以启用服从守护程序以安全地发送和接受邮件:

sudo nano /etc/postfix/master.cf

删除井号(#)以取消注释以下行:

#submission inet n       -       n       -       -       smtpd
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_recipient_restrictions=permit_sasl_authenticated, reject
#  -o milter_macro_daemon_name=ORIGINATING

保存并退出文件。

编辑main.cf

的/etc/postfix/main.cf文件包含Postfix安装的配置选项。编辑此文件:

sudo nano /etc/postfix/main.cf

进行以下更改:

设置主机

编辑以下内容:

#myhostname = host.domain.tld

删除井号(#)取消注释该行, 并替换host.domain.tld服务器的主机名:

myhostname = example.com

设定网域

编辑以下内容:

#mydomain = domain.tld

删除井号(#)取消注释该行, 并替换domain.tld你要接收邮件的域:

mydomain = example.com

启用其他设置

删除井号(#)以取消注释以下行:

#myorigin = $myhostname
#inet_interfaces = all
#inet_interfaces = localhost
#inet_protocols = all
#mydestination = $myhostname, localhost.$mydomain, localhost
#home_mailbox = Maildir/

添加配置

最后, 将以下行添加到文件末尾:

smtpd_tls_key_file = /etc/postfix/ssl/mailserver.key
smtpd_tls_cert_file = /etc/postfix/ssl/mailserver.crt
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_security_level=may

保存并退出文件, 然后重新启动Postfix以加载新配置:

sudo systemctl restart postfix

使用Telnet测试Postfix

为了测试Postfix, 我们将通过telnet连接到服务器并执行基本的"握手协议", 就像电子邮件程序一样。

首先, 安装Telnet:

sudo yum install telnet

一旦安装了Telnet, 就可以使用它连接到服务器的SMTP端口:

telnet localhost 25

服务器将响应:

[user@localhost ~]$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

首先告诉服务器是谁发送邮件:

mail from: some-person@some-other-server.com

然后告诉服务器你要将邮件发送给谁, 用你自己的用户名和域名替换user@example.com:

rcpt to: user@example.com

现在添加一条简单的消息。告诉服务器你的消息正文从这里开始:

data

键入消息, 然后按[Enter](句号)., 然后按[Enter]:

hello world 
.

通过键入关闭会话放弃然后按Enter。

如果成功, 你的测试消息将出现在/ home /用户名/ Maildir /新。你可以使用以下命令查看此消息:

ll /home/username/Maildir/new

要阅读消息, 请复制并粘贴文件名(该文件名应为长名, 例如1481229255.Vfd01I402b66aM546595.example.com)并阅读更多:

more 1481229255.Vfd01I402b66aM546595.example.com

你将看到电子邮件以及所有标题信息:

From some-person@some-other-server.com  Thu Dec  8 19:43:10 2016
Return-Path: <some-person@some-other-server.com>
X-Original-To: user@example.com
Delivered-To: user@example.com
Received: from localhost (localhost [127.0.0.1])
        by mail.example.com (Postfix) with SMTP id 6CFD589184
        for <user@example.com>; Thu, 8 Dec 2016 19:42:33 +0000 (UTC)
Message-Id: <20161208194238.6CFD589184@mail.oxnardindustries.com>
Date: Thu, 8 Dec 2016 19:42:33 +0000 (UTC)
From: some-person@some-other-server.com

hello world

安装和配置Dovecot

我们将把Dovecot用作POP3 / IMAP服务器, 以便用户可以接收和检查他们的电子邮件。你可以在以下位置找到有关鸽舍的更多信息Dovecot网站.

使用以下命令安装Dovecot:

sudo yum install dovecot

你可以使用以下命令检查Dovecot的状态:

sudo systemctl status dovecot

如果Dovecot正在运行, 你将看到类似以下的输出:

[user@mail dovecot]$ sudo systemctl status dovecot -l
● dovecot.service - Dovecot IMAP/POP3 email server
   Loaded: loaded (/usr/lib/systemd/system/dovecot.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2016-12-08 21:04:48 UTC; 3s ago
  Process: 8985 ExecStartPre=/usr/libexec/dovecot/prestartscript (code=exited, status=0/SUCCESS)
 Main PID: 8989 (dovecot)
   CGroup: /system.slice/dovecot.service
           ├─8989 /usr/sbin/dovecot -F
           ├─8992 dovecot/anvil
           ├─8993 dovecot/log
           └─8995 dovecot/config

Dec 08 21:04:48 example.com systemd[1]: Starting Dovecot IMAP/POP3 email server...
Dec 08 21:04:48 example.com systemd[1]: Started Dovecot IMAP/POP3 email server.
Dec 08 21:04:48 example.com dovecot[8989]: master: Dovecot v2.2.10 starting up for imap (core dumps disabled)
Active: active (running) since Thu 2016-12-08 21:04:48 UTC; 3s ago

这意味着Dovecot已安装并正在运行。

安装Roundcube

Roundcube是一个免费的开放源代码Webmail程序, 具有强大的内置多语言功能以及许多方便用户使用的功能。你可以在以下网站上阅读有关Roundcube的更多信息Roundcube网站.

Roundcube需要几个PHP和MariaDB软件包作为先决条件。首先使用以下命令安装和/或更新这些:

sudo yum install mysql mariadb-server php php-common php-json php-xml php-mbstring

接下来, 为Roundcube安装创建MariaDB用户名和数据库。使用以下命令登录MariaDB客户端:

mysql -u root -p

使用root密码登录, 然后创建一个Roundcube数据库:

create database roundcube_db;

为此数据库创建一个用户。注意:确保为用户提供一个强密码。

grant all on roundcube_db.* to roundcube_user@localhost identified by 'roundcube_db_password';

更换:

  • roundcube_user使用你要为数据库创建的用户名。
  • roundcube_db_password为该用户设置一个强密码。

然后退出MariaDB:

quit;

转到你网站的文档根目录。使用以下命令从Roundcube网站下载当前版本:

sudo wget [download URL]

要找到下载网址, 请访问Roundcube网站上的当前发布页面。复制绿色的"下载"链接的URL。你可以通过单击Shift +插入将其粘贴到命令行中。

例如, 要下载本文发布时的当前稳定版本, 请使用以下命令:

sudo wget https://github.com/roundcube/roundcubemail/releases/download/1.2.3/roundcubemail-1.2.3-complete.tar.gz

使用以下命令解压缩该文件:

sudo tar -xvf [filename]

小费:你可以使用制表符补全来简化此过程。类型须藤tar -xvf roundcube然后点击Tab。 Shell将在命令行上自动填写其余文件名。

要解压缩上面下载的文件, 命令是:

sudo tar -xvf roundcubemail-1.2.3-complete.tar.gz

重命名提取的目录圆立方体:

sudo mv roundcubemail-1.2.3 roundcube

将文件的所有权设置为Apache用户:

sudo chown -R apache:apache roundcube

要完成安装, 请切换到浏览器并转到URLhttp://example.com/roundcube/installer/.

向下滚动到页面底部, 然后单击下一个.

在下一节中, 你将需要填写数据库信息。

填写你在上面创建的MariaDB数据库名称, 用户名和密码。然后向下滚动并单击创建配置.

注意:有许多潜在的配置。你将来可以随时更改或设置它们。

创建配置文件后, 单击继续接着说。

点击初始化数据库按钮设置数据库。

通过发送测试SMTP电子邮件来测试邮件服务器配置。

  • 发件人:你在此服务器上的新电子邮件地址。 (例如, jdoe @ example.com)
  • 接受者:外部电子邮件地址。 (例如, jdoe @ gmail.com)

然后点击发送测试邮件。片刻之后, 请检查外部电子邮件帐户, 以查看是否已发送你的电子邮件。

通过使用用户名和密码登录来测试IMAP配置。

请注意, 你的用户名不是你的完整电子邮件地址。例如, 使用用户名登录do, 不是jdoe@example.com.

现在配置已完成, 你可以登录http://example.com/webmail检查并发送电子邮件。

一盏木

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: