如何使用 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:

8 个赞

我在 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 等)。

1 个赞

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

1 个赞

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

1 个赞

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

2 个赞

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

1 个赞

Namecheap 的屏幕截图

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

1 个赞

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

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