你好,
我一直使用 API(Discourse API Docs Postman 中发送时,会收到邀请邮件。但在 Laravel 中实现时,却收不到邮件。
以下是来自 Laravel 的 API 响应。我注意到 emailed 字段为 false。
Postman 响应中 emailed 字段为 true。
有什么建议吗?谢谢。
你好,
我一直使用 API(Discourse API Docs Postman 中发送时,会收到邀请邮件。但在 Laravel 中实现时,却收不到邮件。
以下是来自 Laravel 的 API 响应。我注意到 emailed 字段为 false。
Postman 响应中 emailed 字段为 true。
有什么建议吗?谢谢。
也有其他人报告了这个问题,
查看此主题
是的,这是一个已经解决的不同错误。目前的问题是,我们收不到邮件,但使用 API 是成功的。
我不确定我们是否需要启用某些功能?因为当我在 Postman 中调用 API 时能收到邮件,但在我们创建的 Laravel 应用中却收不到邮件。
嘿 @yburhaniel,
这是一个老话题了,但我遇到了类似的问题。API 请求 invite.json 会生成邀请链接,但不会发送电子邮件。而如果 API 密钥绑定的同一用户从 UI 邀请用户,则电子邮件会正常发送。
你当时是怎么解决这个问题的?
你设置了 send_email 吗?
我正在使用如下的 Python 代码:
invitation = {
"email": u.mail,
"group_ids": valid_group_ids(u.groups),
"send_email": True,
}
site.invites.post(data=invitation)
可以给我们看看你正在使用的代码吗?
您好 @thoka,
感谢您的回复。真的这么简单吗?那将是个好消息!
对于这个问题,我正在使用 Zapier,但使用的是我按照这份API 文档创建的一个对象。也许这不是正确的文档,或者我遗漏了其他东西。
我尝试了许多不同的参数,但最新的参数是:
{
"email": "email@email.com",
"skip_email": false,
"custom_message": "Welcome to the forum",
}
我也尝试了以下参数。但不幸的是,这并没有导致邀请被发送:
{
"email": "email@email.com",
"skip_email": false,
"send_email": true,
"custom_message": "Welcome to the forum",
}
但也许我在这里设置的属性仍然是错误的。
我总是使用 Reverse engineer the Discourse API 来使用与 UI 相同的参数。
很好,谢谢你提醒我。我想这是因为在 Discourse 上有更长的使用经验吧。
无论如何,你这么说了之后,完全说得通了。
我来试试看,之后再告诉你结果!
不幸的是,问题仍然存在,状态码为 OK 200,但只生成了邀请链接。
UI 中的 API 仅额外设置了显式的 expires_at 和 max_redemptions_allowed 属性。
顺便说一句,我通过集成使用的是 system 用户,这会是个问题吗?话虽如此,我认为我也使用了一个实际的“人类”用户进行了测试。
如果您通过用户界面创建邀请,一切是否都按预期工作?
是的,这就是神秘之处,通过 UI,一切都能正常工作,没有问题。
不过,我注意到的是,即使我从 system 用户的个人资料/邀请部分发送邀请,邀请邮件中仍然显示是我(我的用户)发送的邀请。
我建议为您的用户名尝试使用管理员 API 密钥。
通过 API,您应该能够获得与通过 UI 相同的行为。