上一篇将阿里云服务器上的配置做好后,现在配置mailcow

1、测试服务是否正常运行

方式一:纯ip访问  

方式二:配置的二级域名访问

2、左下有个,使用账号admin和密码moohoo登入管理员账号

3、登录后会看到首页

4、按着下面箭头符号进行配置

然后配置邮箱,自己输入账号密码

5、这时可以创建两个邮箱,账号,然后通过第一步,登录入口,选用户登录,就可以达到内网之间的邮件发送了。【亲测有效】

但是外网只能收到邮件,mailcow的邮箱还收不到外网发过来的邮件,因为还要继续配置。

6、开始对外网连通性进行配置

如下:

等一下后,会出现如下的信息

重点:这里的信息,就是从在阿里云服务器上搭建mailcow(二)-CSDN博客这篇文章配置好了后,才会出现绿色小勾,需要去阿里云上进行一个个配置好解析

7、开始配置

一个邮件服务器需要配置 SPF、DKIM、DMARC 等,这些有助于提高邮件的送达率,而不会被判定为垃圾邮件或者被拒收。这些配置都对应到相应的 DNS 记录。下面我们将一一进行配置。

首先在 Mail Web Dashboard 中,点击右侧上方的 E-Mail - 配置 - 添加域名,输入 example.com,然后点击 添加域名并重启服务。然后在 操作 栏点击 DNS,等待一会,查看系统检测到的目前的 DNS 记录。当前状态下只有 A 记录,即将 mail.example.com 解析到服务器 IP 地址。

  • 重启命令

 docker compose down - 完全停止mailcow邮件服务
docker compose up -d - 启动mailcow邮件服务并在后台运行

  • MX 记录

    在 阿里云 云解析DNS 中,点击 添加记录,选择 MX 类型,输入 @,内容输入 mail.example.com,优先级为 10

  • CNAME 记录

    在 阿里云 云解析DNS 中,点击 添加记录,选择 CNAME 类型,输入 autodiscover,然后输入 mail.example.com

    继续添加 CNAME 记录,输入 autoconfig,然后输入 mail.example.com

  • SRV 记录

    在 阿里云 云解析DNS 中,点击 添加记录,选择 SRV 类型,输入 _autodiscover._tcp,内容输入 0 1 443 mail.example.com

  • SPF 配置

    在 阿里云 云解析DNS 中,点击 添加记录,选择 TXT 类型,输入 @,内容输入 v=spf1 mx a -all

  • DMARC 配置

    在 阿里云 云解析DNS 中,点击 添加记录,选择 TXT 类型,输入 _dmarc,内容输入 V=DMARC1;p=reject;rua=mailto:root@example.com

    注意,这里的 root@example.com 需要是一个真实的地址。 这个地址的主要作用是接收 DMARC 聚合报告。这些报告为域名拥有者提供关于其域名电子邮件使用情况的反馈,特别是哪些邮件是合法的,哪些可能是仿冒的。它们提供了关于邮件的详细信息,如发件人、接收时间、发件的IP地址等。等 DNS 全部设置完毕后,需要创建这个邮箱账号。

  • DKIM 配置

    在 阿里云 云解析DNS 中,点击 添加记录,选择 TXT 类型,输入 dkim._domainkey,然后内容请输入 Web Dashboard 中提供的正确数据。

全部 DNS 记录配置完毕后,可以点击 Web Dashboard 中域名页面的 DNS 按钮,查看是否配置正确。

当上述 DNS 配置都设置好后,可以使用 Mail Tester 来测试邮件的送达率。输入邮件内容,建议内容多一点,不然太像垃圾邮件。一般情况下,邮件得分可以到满分:


遇到的问题:

DKIM 签名无效:

✅ 正确查看 DKIM 分析结果的方法

方法一:查看 Rspamd 容器日志

Rspamd 会记录 DKIM 分析、评分等内容:

docker logs mailcowdockerized-rspamd-mailcow-1 | grep -i dkim

这会输出类似:

<qk9u81>; lua; dkim_signing.lua:135: signing with selector dkim for domain example.com
<qk9u81>; dkim; dkim_module.c:1063: d=example.com, s=dkim, DKIM signature verified

如果看到 DKIM signature verified 就说明签名没问题。


方法二:看你发到 mail-tester.com 的那封邮件的 原始头部

登录 Mailcow 后台 → EmailSent → 打开发送的那封邮件 → 查看 原始邮件头(Raw Source)是否包含:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=f2flight.com; s=dkim; ...

如果这段签名存在,就说明 Mailcow 发送邮件时加了 DKIM 签名。

解决方案:

执行以下命令,将 enabled = true; 追加到 dkim_signing.conf 中:

docker exec -i mailcowdockerized-rspamd-mailcow-1 /bin/sh -c 'echo "enabled = true;" >> /etc/rspamd/local.d/dkim_signing.conf'

然后确认追加成功:

docker exec mailcowdockerized-rspamd-mailcow-1 cat /etc/rspamd/local.d/dkim_signing.conf

你应该能看到最顶部或最底部有这一行:

enabled = true;

重启服务:

docker compose restart rspamd-mailcow postfix-mailcow

附加:上述走完后还是不行的情况下,将mailcow中配置好的域名删除后【先删邮箱再删域名】,再新增一次,重启服务


还不行就检查服务器中的端口25是否开启:

sudo ufw status
sudo ufw allow 25/tcp
sudo ufw allow 587/tcp  # 可选:SMTP 提交端口
sudo ufw reload

sudo ufw status  # 应显示 25/tcp 为 ALLOW
sudo iptables -L -n | grep 25  # 应看到 ACCEPT 规则

然后配置完上述后,就ok啦

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐