继续讨论 Email-in Discourse::InvalidAccess:
Discourse::InvalidAccess 再次出现。这次,主题的长度不是原因。我怀疑这与类别是受限子类别有关。但是该类别设置为接收来自没有帐户的地址的电子邮件,因此我希望电子邮件能够通过并创建一个新主题。
用例是 CFP(征稿启事):人们应该能够发送消息,但只有组织者才能阅读消息并进行讨论。我认为这与 Email in to a private category 中描述的情况不同。
相关文档:Configuring incoming email to create new topics or group messages - Site Management - Discourse Meta
我重建了 after a (noop) git pull,现在它似乎可以与添加到 Postfix 的 relay_domains 中的第二个域一起工作了。在进行这一系列测试之前,并且在进行了更改之后,我不再收到错误,但电子邮件根本没有出现,既不在分类中也不在错误日志中。
在 containers/mail-receiver.yml 中,我们有:
POSTCONF_relay_domains: forum.example.net, example.net
(当然,example.net 并不是配置文件中的实际内容。其中包含的是论坛的主机名和父域名的名称,这两个都在 DNS 中配置)
我注意到 @mpalmer 多年前曾提到添加第二个域是可行的,但是
所以我认为 relay_domains 的小配置是不够的,但它似乎有效,前提是你先 git pull 再重建。mail-receiver 容器的构建方式一定存在某种 怪癖,导致无法更新 pups…
不知何故,故障又出现了。这有点可笑,因为之前的测试都正常。现在又一次重建后,收到的邮件又被拒绝了。我不得不重复 git pull 然后 rebuild 的过程,但这次似乎不起作用。
我怀疑可能是子类别的情况在起作用,除非在处理收件邮件的类别权限方面_有什么变化_。
现在的情况是,人们发送邮件,他们会收到拒绝邮件,所以我不得不复制粘贴被拒绝的邮件并将主题分配给原始发件人。因此,“用户体验”非常糟糕,而且开销相当可观。
我真的不能接受收件邮件是一个公开类别,这正是举办 CFP 的目的。但 Discourse 现在似乎无法满足这一目的。
有些是。
来自没有账户的人的电子邮件被拒绝(但类别设置为_接收来自没有账户的地址的电子邮件_)。
来自授权组内人员的电子邮件似乎可以正常发送。
来自拥有账户但无权访问该类别的用户电子邮件被拒绝。
在我看来,尽管有默认接受设置,但权限仍会得到检查。
我目前正在审查 mail-receiver 容器代码,看看是否能在那里找到一些东西。
对于那些已有账户但无权访问该类别的人,预计他们将被拒绝。接受没有账户的匿名用户发送的邮件仅适用于暂存用户,而已有账户的用户则会应用类别权限。
奇怪的是,没有账户的人却被拒绝了。这会不会是因为你对邮件接收器所做的更改?
所以,显然拒绝是由 /admin/email/smtp_should_reject.json 端点处理的。
我做这个更改是因为邮件被退回了。我首先在收件邮箱地址中添加了多个邮箱(用 | 分隔),这似乎起作用了。
好的,这说得通。但这有点令人困惑。如果“任何人”都可以发邮件进来,但现有用户却不行,这似乎有点违背了初衷。
我将检查被拒绝的邮件,看它们是否是暂存的。非常感谢你帮助我调试,@JammyDodger。
1 个赞
我认为你说得对 @JammyDodger,新用户可以发送邮件,具有正常访问权限的现有用户可以发送邮件,但没有访问权限的现有用户无法向该类别发送邮件。
我想到的一个解决方法是创建一个不包含任何通知的 CFP 群组,该群组由所有现有用户组成。但这听起来非常拙劣,并且可能会产生取消现有通知的副作用……不确定该怎么做。
我认为人们可以使用电子邮件发送到群组作为替代方案,这是否有用?
1 个赞
这可能会……这大概就是应该做的。
您是否知道,被设为“静音”类别的群组是否会优先于另一个将同一类别设置为“关注”的群组?
总结如下:
-
假定有一个私有分类,其邮件接收功能已授权给未知电子邮件地址(即不属于任何现有帐户的地址,又称_暂存用户_)
-
→ 如果收到来自未知地址的电子邮件:该邮件将被投递到私有分类
-
→ 如果收到来自已知地址的电子邮件:只有当用户是授权访问该分类的组成员时,该邮件才会被投递。
因此,如果您想将邮件接收功能用于 CFP,请配置一个私有组的邮件接收功能并使用该地址。邮件可以被“公开”,并转换为私有或非私有分类中的一个主题。
system
(system)
关闭
12
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.