如何使用iRedMail在CentOS 7上轻松设置全功能邮件服务器

核心提示在Linux上从头开始设置自己的电子邮件服务器是一个漫长而乏味的过程,如果你不是高级用户,这将是一个痛苦的过程。本教程将向您展示如何使用iRedMail在CentOS 7上快速设置功能齐全的邮件服务器,从而为您节省大量时间和麻烦。什么是iR

在Linux上从头开始设置自己的电子邮件服务器是一个漫长而乏味的过程,如果你不是高级用户,这将是一个痛苦的过程。本教程将向您展示如何使用iRedMail在CentOS 7上快速设置功能齐全的邮件服务器,从而为您节省大量时间和麻烦。

什么是iRedMail?

iRedMail是一个shell脚本,可以在Linux/BSD服务器上自动安装和配置所有必要的邮件服务器组件,从而消除手动安装和配置。使用iRedMail,您可以在基于web的管理面板中轻松创建无限邮箱和无限邮件域。邮箱可以存储在MariaDB/MySQL、PostgreSQL数据库或OpenLDAP中。以下是iRedMail将自动安装和配置的开源软件列表。

后缀SMTP服务器Dovecot IMAP服务器Nginx web服务器为管理面板和webmail提供服务用于存储用户信息的OpenLDAP、MySQL/MariaDB或PostgreSQL一个用于DKIM签名和验证的新版本SpamAssassin用于反垃圾邮件ClamAV用于抗病毒Roundcube网络邮件用于保护SSH的Fail2ban邮件列表管理器Netdata服务器监控iRead Postfix策略服务器用于GreyList

第一步:选择合适的主机提供商并购买域名

要使用iRedMail设置一个功能齐全的电子邮件服务器,您需要一个至少有3GB内存的服务器,因为安装后,您的服务器将使用超过2GB的内存。

强烈建议您在干净的CentOS 7服务器上安装iRedMail。

本教程是在每月9美元的Kamatera VPS上完成的,该服务器具有1个CPU和3GB RAM。他们提供30天的免费试用期。

Kamatera是运行邮件服务器的一个非常好的选择,因为

它们不会阻止端口25,因此您可以发送无限量的电子邮件,而无需在SMTP中继服务上花钱。Kamatera没有任何SMTP限制。你每天可以发送一百万封电子邮件。IP地址不在任何电子邮件黑名单上。你肯定不想被列入可怕的微软Outlook IP黑名单或spamrats黑名单。有些黑名单会屏蔽整个IP范围,你无法从此类黑名单中删除你的IP地址。您可以编辑PTR记录以提高电子邮件的可交付性。它们允许你向你的电子邮件订阅者发送时事通讯,而不受每小时或每天的限制。您可以为一台服务器订购多个IP地址。这对需要发送大量电子邮件的人非常有用。您可以在多个IP地址上传播电子邮件流量,以实现更好的电子邮件交付。

其他VPS提供商,如DigitalOcean阻止了端口25。DigitalOcean不会解锁端口25,因此您需要设置SMTP中继以绕过阻止,这可能会增加您的费用。如果您使用Vultr VPS,则默认情况下端口25被阻止。如果您打开支持票证,他们可以解除阻止,但如果他们决定不允许您的电子邮件发送活动,他们可能会在任何时候再次阻止。如果你使用他们的服务器发送时事通讯,Vultr实际上可能会重新阻止它。

转到Kamatera网站创建帐户,然后在帐户仪表板中创建服务器。

我建议遵循下面链接的教程,在Kamatera上正确设置Linux VPS服务器。

如何在Kamatera上创建Linux VPS服务器

创建服务器后,Kamatera将向您发送一封包含服务器SSH登录详细信息的电子邮件。要登录到服务器,可以使用SSH客户端。如果您在计算机上使用Linux或macOS,只需打开一个终端窗口并运行以下命令即可登录服务器。将12.34.56.78替换为服务器的IP地址。

ssh [email protected]

系统将要求您输入密码。

你还需要一个域名。我从namescape注册了我的域名,因为价格低廉,而且他们终身免费保护whois的隐私。

第2步:创建DNS MX记录

MX记录指定哪个或多个主机处理特定域名的电子邮件。例如,为linuxbabe处理电子邮件的主机。com是邮件。利努克斯宝贝。通用域名格式。如果拥有Gmail账户的人向[email ;protected]发送电子邮件,Gmail服务器将查询linuxbabe的MX记录。通用域名格式。当它发现那封邮件。利努克斯宝贝。com负责接收电子邮件,然后查询邮件记录。利努克斯宝贝。com获取IP地址,从而可以发送电子邮件。

在DNS管理器中,为域名创建MX记录。在名称字段中输入@代表主域名,然后输入mail。你的领域。com在值字段中。

注意:MX记录的主机名不能是其他名称的别名。此外,强烈建议您使用主机名,而不是MX记录的裸IP地址。

DNS管理员可能会要求您输入首选项值。它可以是0到65356之间的任何数字。小数字的优先级高于大数字。建议将该值设置为0,以便此邮件服务器具有接收电子邮件的最高优先级。创建MX记录后,还需要为邮件创建一个记录。你的领域。com,以便将其解析为IP地址。如果您的服务器使用IPv6地址,请确保添加AAAA记录。

提示:如果使用Cloudflare DNS服务,则在创建邮件记录时不应启用CDN功能。你的领域。通用域名格式。Cloudflare不支持SMTP代理。

第3步:配置主机名

通过SSH登录服务器,然后运行以下命令更新现有软件包。

sudo yum update -y

我强烈建议创建一个sudo用户来管理服务器,而不是使用默认的root用户来提高服务器安全性。运行以下命令创建用户。将用户名替换为首选用户名。

sudo adduser username

设置此用户的密码。

sudo passwd username

将此用户添加到控制盘组以使用sudo。

sudo gpasswd -a username wheel

切换到新用户。

su - username

接下来,使用以下命令为服务器设置完全限定的域名。

sudo hostnamectl set-hostname mail.your-domain.com

我们还需要使用命令行文本编辑器更新/etc/hosts文件。

sudo nano /etc/hosts

像下面那样编辑它。

127.0.0.1mail.your-domain.com localhost

保存并关闭文件。

要查看更改,请重新登录并运行以下命令以查看主机名。

hostname -f

第4步:使用iRedMail在CentOS 7上设置邮件服务器

运行以下命令从其Github存储库下载最新版本的iRedMail脚本安装程序。

sudo dnf install wget tar -y

wget https://github.com/iredmail/iRedMail/archive/1.5.1.tar.gz

提取存档文件。

tar xvf 1.5.1.tar.gz

然后将cd放入新创建的目录中。

cd iRedMail-1.5.1/

向iRedMail添加可执行权限。sh脚本。

chmod +x iRedMail.sh

接下来,使用sudo权限运行Bash脚本。

sudo bash iRedMail.sh

邮件服务器安装向导将出现。使用Tab键选择Yes,然后按Enter键。

下一个屏幕将要求您选择邮件存储路径。您可以使用默认的/var/vmail,只需按Enter键即可。

然后选择是否要运行web服务器。强烈建议您选择运行web服务器,因为您需要基于web的管理面板来添加电子邮件帐户。它还允许您访问Roundcube网络邮件。默认情况下,Nginx web服务器处于选中状态,因此只需按Enter键即可。

然后为电子邮件帐户选择存储后端。选择一个你熟悉的。本教程选择了MariaDB。按向上和向下箭头键,然后按空格键进行选择。

如果选择了MariaDB或MySQL,则需要设置MySQL根密码。

接下来,输入您的第一个邮件域。您可以稍后在基于web的管理面板中添加其他邮件域。本教程假设您想要一个像[email ;protected]这样的电子邮件帐户。在这种情况下,你需要进入你的域名。com在这里,没有子域。不要在域名后按空格键。我认为iRedMail会将空格字符与域名一起复制,这可能会导致安装失败。

接下来,为邮件域管理员设置密码。

选择可选组件。默认情况下,这4个项目都被选中。所以只需按回车键。

现在,您可以查看您的配置。键入Y开始安装所有邮件服务器组件。

确保在安装过程中没有看到错误。如果出现错误,最好重新安装操作系统,然后在服务器上重新安装iRedMail,否则邮件服务器可能无法正常工作。

在安装结束时,选择y以使用iRedMail提供的防火墙规则并重新启动防火墙。

现在iRedMail安装完成了。您将收到webmail的URL、web管理面板和登录凭据的通知。iRedMail。提示文件包含有关iRedMail服务器的重要信息。

重新启动CentOS 7服务器。

sudo shutdown -r now

服务器重新联机后,您可以访问web管理面板。

file/tupian/20220729/pp步骤5:安装Let's Encrypt TLS证书

由于邮件服务器正在使用自签名TLS证书,桌面邮件客户端用户和webmail客户端用户都将看到警告。为了解决这个问题,我们可以获得并安装免费的Let's Encrypt TLS证书。

获取证书

首先,通过SSH再次登录服务器,并运行以下命令在CentOS 7上安装Let's Encrypt客户端。

sudo yum install certbot python-certbot-nginx -y

iRedMail已经在默认的Nginx虚拟主机中配置了TLS设置,因此我建议使用webroot插件而不是Nginx插件来获取证书。运行以下命令。用红色文本替换为您自己的电子邮件地址和主机名。

sudo certbot certonly --webroot --agree-tos --email [email protected] -d mail.your-domain.com -w /var/www/html/

当它询问您是否希望接收EFF的通信时,您可以选择否。

如果一切顺利,您将看到以下文本,表明您已成功获得TLS证书。您的证书和链已保存在/etc/letsencrypt/live/mail。你的领域。com/directory。

未能获得TLS证书

如果certbot无法获得TLS证书,可能是因为您的DNS记录没有传播到Internet。根据您使用的域注册器,您的DNS记录可能会立即传播,或者传播可能需要24小时。你可以去https://dnsmap.io,输入邮件服务器的主机名以检查DNS传播。

在Nginx中安装证书

获得TLS证书后,让我们配置Nginx web服务器以使用它。编辑SSL模板文件。

sudo nano /etc/nginx/templates/ssl.tmpl

找到下面两行。

ssl_certificate /etc/pki/tls/certs/iRedMail.crt; ssl_certificate_key /etc/pki/tls/private/iRedMail.key;

替换为:

ssl_certificate /etc/letsencrypt/live/mail.your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mail.your-domain.com/privkey.pem;

保存并关闭文件。然后测试nginx配置并重新加载。

sudo nginx -t  sudo systemctl reload nginx

再次访问iRedMail管理面板,您的web浏览器将不再警告您,因为Nginx现在使用的是有效的TLS证书。

在Postfix和Dovecot中安装TLS证书

我们还需要配置Postfix SMTP服务器和Dovecot IMAP服务器来使用Let's Encrypt颁发的证书,这样桌面邮件客户端就不会显示安全警告。编辑Postfix的主配置文件。

sudo nano /etc/postfix/main.cf

找到下面三行。。

smtpd_tls_key_file = /etc/pki/tls/private/iRedMail.key smtpd_tls_cert_file = /etc/pki/tls/certs/iRedMail.crt smtpd_tls_CAfile = /etc/pki/tls/certs/iRedMail.crt

替换为:

smtpd_tls_key_file = /etc/letsencrypt/live/mail.your-domain.com/privkey.pem smtpd_tls_cert_file = /etc/letsencrypt/live/mail.your-domain.com/cert.pem smtpd_tls_CAfile = /etc/letsencrypt/live/mail.your-domain.com/chain.pem

保存并关闭文件。然后重新加载后缀。

sudo systemctl reload postfix

接下来,编辑Dovecot的主配置文件。

sudo nano /etc/dovecot/dovecot.conf

好的,下面两行。

ssl_cert = 

替换为:

ssl_cert = 

保存并关闭文件。然后重新装好多佛科特。

sudo systemctl reload dovecot

从现在起,桌面邮件用户将不会看到安全警告。

第6步:发送测试电子邮件

使用邮政局长邮件帐户登录iredadmin面板。在“添加”选项卡中,可以添加其他域或电子邮件地址。

如果您看到“无控制域”错误,请参阅本文。

创建用户后,您可以访问Roundcube webmail地址,并使用新的邮件用户帐户登录。

file/tupian/20220729/pppreRecipient address rejected: Intentional policy rejection, please try again later;

检查ClamAV是否正在运行

ClamAV用于扫描电子邮件中的病毒。ClamAV可以使用相当数量的RAM。如果您的服务器上没有足够的RAM,ClamAV将无法正常工作,这将阻止您的邮件服务器发送电子邮件。您可以通过以下方式检查其状态:

systemctl status [email protected]

如果你的ClamAV总是像下面这样激活,你就有问题了。

查看ClamAV日志。

sudo journalctl -eu [email protected]

如果您在日志中看到以下行,这意味着您的服务器没有足够的RAM来运行ClamAV。

daemonize failed: Cannot allocate memory

您可以向服务器添加交换文件,以增加服务器上的总RAM。

要在服务器上添加交换空间,首先,使用fallocate命令创建一个文件。例如,在根文件系统中创建一个名为swapfile、容量为1G的文件:

sudo fallocate -l 1G /swapfile

然后确保只有root用户可以读写它。

sudo chmod 600 /swapfile

将其格式化为交换:

sudo mkswap /swapfile

输出:

Setting up swapspace version 1, size = 2014 MiB  no label, UUID=0aab5886-4dfb-40d4-920d-fb1115c67433

启用交换文件

sudo swapon /swapfile

等几秒钟,你的ClamAV应该处于活动状态,它不会阻止你的邮件服务器发送电子邮件。

systemctl status [email protected]

要在系统启动时装载交换空间,请编辑/etc/fstab文件。

sudo nano /etc/fstab

在该文件底部添加以下行。

/swapfile    swap    swap     defaults    0   0

保存并关闭文件。然后重新加载系统D。

sudo systemctl daemon-reload

步骤7:检查端口25是否被阻止

您的ISP或主机服务提供商不会阻止与服务器端口25的传入连接,这意味着您可以接收来自其他邮件服务器的电子邮件。然而,许多ISP/主机提供商会阻止与其他邮件服务器端口25的传出连接,这意味着您无法发送电子邮件。

如果您的电子邮件没有到达您的其他电子邮件地址,例如Gmail,那么您可以使用telnet实用程序检查端口25是否被阻止。在CentOS 7上安装telnet时使用:

sudo yum install telnet

然后在邮件服务器上运行以下命令。

telnet gmail-smtp-in.l.google.com 25

如果端口25未被阻止,您将看到如下消息,这表示已成功建立连接。

Trying 74.125.68.26... Connected to gmail-smtp-in.l.google.com. Escape character is '^]'. 220 mx.google.com ESMTP y22si1641751pll.208 - gsmtp

如果端口25被阻止,您将看到如下情况:

Trying 2607:f8b0:400e:c06::1a... Trying 74.125.195.27... telnet: Unable to connect to remote host: Connection timed out

在这种情况下,您的Postfix无法向其他SMTP服务器发送电子邮件。请您的ISP/主机提供商为您打开它。如果他们拒绝您的请求,您需要设置SMTP中继以绕过端口25阻塞。

还是不能发邮件?

如果端口25未被阻止,但您仍然无法从自己的邮件服务器向Gmail等其他电子邮件地址发送电子邮件,那么您应该检查邮件日志。

sudo nano /var/log/mail.log

例如,有些人可能会在文件中看到以下几行。

host gmail-smtp-in.l.google.com[2404:6800:4003:c03::1b] said: 550-5.7.1 [2a0d:7c40:3000:b8b::2] Our system has detected that 550-5.7.1 this message does not meet IPv6 sending guidelines regarding PTR 550-5.7.1 records and authentication. Please review 550-5.7.1 https://support.google.com/mail/ p=IPv6AuthError for more information

这意味着您的邮件服务器正在使用IPv6发送电子邮件,但您没有设置IPv6记录。你应该去你的DNS管理员那里,为邮件设置AAAA记录。你的领域。com,那么您应该为IPv6地址设置PTR记录,这将在步骤9中讨论。

如何禁用灰色列表

默认情况下,iRedMail已启用GreyList,这会告诉其他发送SMTP的服务器在几分钟后重试。这主要有助于阻止垃圾邮件,但也会降低用户体验。如果您希望禁用灰色列表,请按照以下说明操作。

向/opt/iredapd/settings添加写入权限。py文件。

sudo chmod 600 /opt/iredapd/settings.py

然后编辑配置文件。

sudo nano /opt/iredapd/settings.py

找到下面这行。

plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]

从列表中删除“灰色列表”。保存并关闭文件。然后重新启动iRedApp。

sudo systemctl restart iredapd

将配置文件更改回只读模式。

sudo chmod 400 /opt/iredapd/settings.py

第8步:在计算机或移动设备上使用邮件客户端

启动你的桌面电子邮件客户端,比如Mozilla Thunderbird,并添加一个邮件帐户。如果Thunderbird发现您的邮件服务器配置如下,只需单击“完成”按钮,您就可以阅读和发送电子邮件。

如果Thunderbird没有找到您的邮件服务器配置,请单击手动配置按钮输入您的邮件服务器详细信息。

在“传入服务器”部分,选择IMAP协议,输入mail。你的领域。com作为服务器名,选择端口143和STARTTLS。选择普通密码作为身份验证方法。在“发送”部分,选择SMTP协议,输入mail。你的领域。com作为服务器名,选择端口587和STARTTLS。选择普通密码作为身份验证方法。

提示:您还可以在端口993上使用带有SSL/TLS加密的IMAP。

故障2阻止您自己的IP地址

如果您犯了一个错误,多次登录邮件服务器失败,那么邮件服务器上的Fail2ban服务可能会阻止您的IP地址。你可以通过编辑监狱将你的IP地址添加到白名单中。本地文件。

sudo nano /etc/fail2ban/jail.local

将您自己的IP地址添加到忽略列表中,如下所示。将12.34.56.78替换为您的真实IP地址。

ignoreip = 12.34.56.78 127.0.0.1 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16

保存并关闭文件。然后重启Fail2ban。

sudo systemctl restart fail2ban

第9步:提高电子邮件交付能力

为了防止您的电子邮件被标记为垃圾邮件,您应该设置PTR、SPF、DKIM和DMARC记录。

PTR记录

指针记录或PTR记录将IP地址映射到FQDN。它与A记录相对应,用于反向DNS查找,这有助于阻止垃圾邮件发送者。如果没有找到发送服务器的PTR记录,许多SMTP服务器会拒绝电子邮件。

要检查PTR记录中的IP地址,请运行以下命令:

dig -x IP-address +short

host IP-address

PTR记录不由您的域注册器管理。它由提供IP地址的人管理。由于您从主机提供商或ISP获得IP地址,而不是从域注册商获得,因此您必须在主机提供商的控制面板中为您的IP设置PTR记录,或者询问ISP。它的值应该是邮件服务器的主机名:mail。你的领域。通用域名格式。如果您的服务器使用IPv6地址,请确保也为您的IPv6地址添加PTR记录。

要编辑Kamatera VP的反向DNS记录,请登录Kamatera客户端区域,然后打开支持票证,告诉他们为服务器IP地址添加PTR记录,以将IP地址指向邮件。你的领域。通用域名格式。你可能会想,这并不方便,但这是为了让垃圾邮件发送者远离平台,因此像我们这样的合法电子邮件发送者将拥有良好的IP声誉。

SPF记录

SPF记录指定允许哪些主机或IP地址代表域发送电子邮件。您应该只允许您自己的电子邮件服务器或ISP的服务器为您的域发送电子邮件。在DNS管理界面中,创建一个新的TXT记录,如下所示。

哪里:

TXT表示这是一条TXT记录。在名称字段中输入@代表主域名。v=spf1表示这是一条SPF记录,版本为spf1。mx意味着mx记录中列出的所有主机都被允许为您的域发送电子邮件,而所有其他主机都被禁止。~all表示来自您域的电子邮件应该只来自SPF记录中指定的主机。来自其他主机的电子邮件将被标记为伪造。

要检查您的SPF记录是否传播到公共互联网,您可以在Linux机器上使用dig实用程序,如下所示:

dig your-domain.com txt

txt选项告诉dig我们只想查询txt记录。

DKIM记录

DKIM使用私钥对从您的域发送的电子邮件进行数字签名。接收SMTP服务器使用在DNS DKIM记录中发布的公钥验证签名。

iRedMail脚本会自动为服务器配置DKIM。唯一要做的就是在DNS管理器中创建DKIM记录。运行以下命令以显示DKIM公钥。

sudo amavisd -c /etc/amavisd/amavisd.conf showkeys

DKIM公钥在括号中。

然后在DNS管理器中,创建一个TXT记录,输入dkim_名称字段中的domainkey。复制括号中的所有内容并粘贴到值字段中。删除所有双引号和换行符。

保存更改后,运行以下命令测试DKIM记录是否正确。

sudo amavisd -c /etc/amavisd/amavisd.conf testkeys

如果DKIM记录正确,测试将通过。

TESTING#1 linuxbabe.com: dkim._domainkey.linuxbabe.com => pass

请注意,您的DKIM记录可能需要一些时间才能传播到Internet。根据您使用的域注册器,您的DNS记录可能会立即传播,或者传播可能需要24小时。你可以去https://www.dmarcanalyzer.com/dkim/dkim-check/,输入dkim作为选择器,并输入您的域名以检查dkim记录传播。

DMARC记录

DMARC代表基于域的消息身份验证、报告和一致性。DMARC可以帮助接收电子邮件服务器识别合法电子邮件,并防止电子邮件欺骗使用您的域名。

要创建DMARC记录,请转到DNS管理器并添加TXT记录。在名称字段中,输入_dmarc。在“值”字段中,输入以下内容。

v=DMARC1; p=none; pct=100; rua=mailto:[email protected]

上述DMARC记录是一个安全的起点。如果你想阅读DMARC的完整解释,请查看以下文章。请注意,这是可选的。

创建DMARC记录以保护您的域名免受电子邮件欺骗

第10步:测试电子邮件分数和位置

创建PTR、SPF、DKIM记录后,转到https://www.mail-tester.com.你会看到一个独特的电子邮件地址。从你的域名发送电子邮件到此地址,然后检查你的分数。如你所见,我得了满分。在测试结果中,您应该检查您的PTR记录、SPF和DKIM记录是否有效。

邮件测试员。com只能显示发件人分数。还有另一个名为GlockApps的服务,可以让你检查你的电子邮件是否被放在收件人的收件箱或垃圾邮件文件夹中,或者被直接拒绝。它支持许多流行的电子邮件提供商,如Gmail、Outlook、Hotmail、YahooMail、iCloud mail等。

如果你的电子邮件仍被标记为垃圾邮件呢?

在这篇文章中,我有更多提示:如何阻止你的电子邮件被标记为垃圾邮件。虽然这需要一些时间和精力,但在应用这些技巧后,你的电子邮件最终会被放入收件箱。

如果您的电子邮件被Microsoft邮箱拒绝怎么办?

微软似乎正在使用一个内部黑名单来屏蔽许多合法的IP地址。如果您的电子邮件被Outlook或Hotmail拒绝,您需要提交发件人信息表。之后,Outlook/Hotmail将接受您的电子邮件。

添加多个邮件域

我写这篇文章是为了向您展示如何在iRedMail中添加多个邮件域。

启用SMTPS端口465

如果要使用Microsoft Outlook客户端,则需要在Postfix SMTP服务器中启用SMTPS端口465。

故障排除

首先,请使用至少4GB内存的VPS。在1GB RAM VPS上运行iRedMail会导致数据库、SpamAssassin或ClamAV因内存不足而被终止。如果你真的想使用1GB内存的VPS,你会丢失收到的电子邮件,并有其他不良后果。

如果无法访问iRedMail web界面,如502网关错误,则应检查/var/log/Nginx/目录中的Nginx日志以找到线索。您可能还需要检查邮件日志/var/log/maillog。

检查各种服务是否正在运行。

systemctl status postfix  systemctl status dovecot  systemctl status nginx  systemctl status mariadb  systemctl status [email protected]  systemctl status amavisd

如果启用了防火墙,则应在防火墙中打开以下端口。

HTTP port:  80 HTTPS port: 443 SMTP port:  25 Submission port: 587  IMAP port:  143 and 993

如果你想使用UFW防火墙,请查看我的指南:Debian和Ubuntu上的UFW防火墙入门。

如何更新TLS证书

让我们加密颁发的TLS证书仅在90天内有效,设置Cron作业以自动续订证书非常重要。您可以运行以下命令来续订证书。

sudo certbot renew -w /var/www/html

您可以使用--dry run选项来测试更新过程,而不是进行真正的更新。

sudo certbot renew -w /var/www/html --dry-run

如果在续订TLS证书时看到以下错误。

The client lacks sufficient authorization :: Invalid response

然后需要创建隐藏目录。

sudo mkdir -p /var/www/html/.well-known/acme-challenge

并将www数据设置为webroot的所有者。

sudo chown www-data:www-data /var/www/html/ -R

另外,编辑SSL虚拟主机/etc/nginx/sites enabled/00默认SSL。conf.添加以下行。

location ~ /.well-known/acme-challenge {      root /var/www/html/;      allow all; }

保存并关闭文件。测试Nginx配置并重新加载。

sudo nginx -t sudo systemctl reload nginx

创建Cron作业

如果现在试运行成功,您可以创建Cron作业来自动续订证书。只需打开root用户的crontab文件。

sudo crontab -e

然后在文件底部添加以下行。

@daily certbot renew -w /var/www/html/ --quiet && systemctl reload postfix dovecot nginx

重新加载Postfix、Dovecot和Nginx是使这些程序获取新证书和私钥所必需的。

面向高级用户

您可能需要自定义SpamAssassin内容过滤器,以便更好地检测垃圾邮件。

通过检查Postfix/SpamAssassin中的标题和正文来阻止垃圾邮件

如果您的网站和邮件服务器运行在两个不同的VP上,您可以在网站和邮件服务器之间设置SMTP中继,以便您的网站可以通过邮件服务器发送电子邮件。请参阅下面的文章。

在CentOS/RHEL上的2台后缀SMTP服务器之间设置SMTP中继

收尾

就这样!我希望本教程能帮助您使用iRedMail在CentOS 7上设置邮件服务器。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心

除非注明,否则均为MMCloud原创文章,转载必须以链接形式标明本文链接。

 
友情链接
鄂ICP备19019357号-22