你好, 我正在构建一个插件,需要将一些内容发送到用户的电子邮件。 我使用了
creator = PostCreator.new(test_user, { target_recipients: "someone@toto.com", archetype: Archetype.private_message, subtype: TopicSubtype.system_message, title: "Hello test subject", raw: "This is the message. Does it work ?" })
test_user 是管理员
但是每次尝试发送时,我都会收到错误: 主题为空
主题为空
有什么想法吗?
根据规范,这应该接受一个组名或用户名:
你好 Robert,
这很奇怪,因为在前端,Discourse 使用类似这样的载荷并且它正在工作(已用我的私人电子邮件测试):
raw: Again a message content here. title: Hello there general kenoby archetype: private_message target_recipients: j.doe@something.com
我发现我们期望在后端有一个组名很奇怪
TL;DR 使用 target_emails 而不是 target_recipients
target_emails
target_recipients
请注意,target_recipients 是 PostsController 的一个参数,而不是 PostCreator 的参数。 该控制器 计算 收件人是用户、群组还是电子邮件地址,然后最终将其作为 target_emails 传递给 NewPostsManager,并 最终 进入 TopicCreator。
PostsController
PostCreator
NewPostsManager
TopicCreator
谢谢!就是这样