如何使用 Mailjet 作为 Discourse 的免费 SMTP 服务

在本简短教程中,我将向您展示如何将 Mailjet 作为 Discourse 的免费 SMTP 服务使用。

目前,Mailjet 允许您每月免费发送 6000 封邮件或每天 200 封,且无需提供信用卡信息。

注册
您可以在这里注册:Mailjet

然后通过点击电子邮件中的链接验证您的账户。

创建您的域名
进入您的账户设置:Mailjet

点击“添加发件人域名或地址”

然后添加您的域名
(请注意,要验证域名,您需要能够访问您的网站托管服务或域名注册账户。)

添加新域名

DNS 验证您的域名
登录您的 DNS 主机。

根据 Mailjet 提供的信息添加新的 DNS 记录

将新的 TXT DNS 记录添加到您的 DNS 服务中。本例中使用的是 Cloudflare。

返回您的 Mailjet 窗口以完成验证,然后点击“立即检查”

完成后您将看到如下窗口

设置 SPF 认证
在 Mailjet 的“发件人与域名”部分,您可以找到此选项

根据推荐设置创建新的 TXT DNS 记录:

完成后,您应看到一个绿色的设置窗口。

设置 DomainKeys/DKIM

创建新的 TXT DNS 记录
请确保其保持在一行内!

设置您的用户名和密码
首先,您需要生成您的密钥,这将成为您的 SMTP 密码。为此,请前往 API 密钥管理 页面。

在该页面上,您会看到您的 API 密钥(这将作为您的 SMTP 用户名)已创建但部分隐藏,而您的密钥需要生成:

点击生成密钥按钮。这将弹出一个新窗口,其中包含您的API 密钥和密钥。请将它们复制到安全的地方,因为下一步需要用到。如果您丢失了密钥,则需要重新生成并重新设置 Discourse 的 SMTP。

生成后,您可以访问 MailJet 的 SMTP 和 SEND API 设置 页面以获取其余所需设置。

Discourse 的安装
在 Discourse 的初始设置中,使用以下设置:

  • SMTP 服务器地址 = MailJet SMTP 服务器
  • SMTP 端口 = SMTP 端口,通常为 25 或 587,请注意某些提供商会阻止端口 25。
  • SMTP 用户名 = 您复制的 MailJet API 密钥
  • SMTP 密码 = 您复制的 MailJet 密钥

您的设置应类似于以下内容:

完成后,您即可开始使用该服务。:tada::tada::tada:

我在 MailJet 上设置了一个帐户并正在进行测试。

当新用户在 Discourse 上注册帐户时,他们会收到来自 noreply@XXX.com 的激活电子邮件。这工作正常。

但是,如果用户想给我(管理员)发送电子邮件 admin@XXX.com,则会收到退信:

554 5.7.1 admin@XXX.com: Relay access denied

我该如何解决这个问题?

这可能不是 Discourse 的问题,具体取决于您想做什么。

如果您想将 Mailjet 用作除 Discourse 使用的大规模电子邮件功能之外的个人电子邮件的 SMTP 服务器,它实际上并不支持:我可以使用 Mailjet 进行内部办公室电子邮件通信吗? 您需要设置另一个服务来发送和接收此类电子邮件(Google Workspace、Zoho Mail 等)。

@JammyDodger 我无法更新此内容,但其中一些屏幕截图和步骤已过时。

如果您有兴趣更新它,我可以将其设为 wiki 并将其移至指南部分?((:crossed_fingers:))

当然,我很乐意为您讲解并更新我能更新的内容,这可能需要几天时间。

@JammyDodger 我已更新 Discourse 设置部分。我尚未确认 DKIM 等设置,我也会看看我能对它们做些什么。

Namecheap 的屏幕截图

注意:
域名本身不应包含在主机(Host)字段中。这意味着,如果您需要为 something._domainkey.yourdomain.tld 添加记录,则只需要将 something._domainkey 添加为主机值(即使您的服务提供商要求您也添加域名本身)。这是系统要求。

谢谢!之后我该如何更改 SMTP 数据?本指南介绍了如何在 Discourse 的初始安装期间执行此操作。

并非专门针对 MailJet,但 Change SMTP settings in a working forum - #5 by slackmoehrle 包含详细信息。