本指南说明了如何使用 Discourse 创建邮件列表的只读镜像。它涵盖了必要的站点设置、类别配置和订阅过程。
所需用户级别:管理员
Discourse 可以作为邮件列表的存档,同时允许注册用户使用其大部分功能。本指南将引导您完成设置自己的邮件列表镜像的过程。
请在Ruby-Talk 邮件列表镜像上查看我们的实际操作示例。
摘要
- 配置站点设置以处理电子邮件
- 为邮件列表创建或修改一个类别
- 订阅邮件列表
- 了解镜像过程的工作原理
以下指南使用两个电子邮件地址作为占位符。您需要将它们替换为您自己的实际地址。
discourse@example.com是 Discourse 接收传入电子邮件的地址
mailing-list@foo.test是邮件列表的提交地址[^1]
[^1]:即人们向此地址发送邮件以在列表上发帖,并且它也出现在邮件列表发送给成员的邮件的“收件人:/抄送:”行中
配置站点设置
-
如果您的托管方案未预先配置传入电子邮件,请为您与 Discourse 电子邮件地址关联的帐户(例如
discourse@example.com)设置POP3 轮询或通过 API 手动轮询。 -
启用以下站点设置:
email_in:允许传入电子邮件enable_staged_users:启用暂存用户(对镜像过程至关重要)
-
可选设置:
- 将
authorized_extensions设置为*或添加特定的文件扩展名,以允许您需要的附件类型 - 启用
always_show_trimmed_content以允许所有用户查看被截断的内容(隐藏在
按钮后面) - 启用
display_name_on_posts并禁用prioritize_username_in_ux以进行名称显示偏好设置
- 将
创建或修改类别
-
创建一个新类别或编辑一个现有类别用于邮件列表帖子。
-
配置类别权限:
- 点击“安全”选项卡,然后点击“编辑权限”
- 删除所有现有权限
- 添加“everyone”(所有人)并设置“查看”权限
完成后,它应该如下所示:
-
配置类别设置:
- 点击“设置”选项卡
- 启用“接受没有帐户的匿名用户的电子邮件”
- 将“自定义传入电子邮件地址”设置为邮件列表的电子邮件地址(例如
mailing-list@foo.test) - 启用“类别镜像邮件列表”
-
保存类别设置。
订阅邮件列表
-
使用您的 Discourse 电子邮件地址(例如
discourse@example.com)订阅邮件列表。 -
如果邮件列表具有 Web 界面,请确保进行以下设置:
- 邮件投递已启用
- 摘要模式已关闭
- 密码提醒电子邮件已禁用
对于 Mailman 2,请确保:
- “邮件投递”设置为“已启用”
- “设置摘要模式”设置为“关闭”
- “为此列表获取密码提醒邮件?”设置为“否”
工作原理
启用“类别镜像邮件列表”会更改该特定类别的传入电子邮件的处理方式:
- 即使启用了
block_auto_generated_emails,也允许自动生成的电子邮件 - 所有用户都可以通过电子邮件发帖,忽略
email_in_allowed_groups设置 - 传入电子邮件使用
Message-ID来查找相关帖子,而与find_related_post_with_key设置无关 - Markdown 的解释仅限于包含在三个反引号中的代码块
- 不会为邮件列表帖子发送拒绝电子邮件
常见问题
问:我可以镜像多个邮件列表吗?
答:是的,为每个邮件列表创建一个单独的类别并按照上述说明进行配置即可。
问:用户可以回复通知并向邮件列表发帖吗?
答:不可以,回复通知会发送到 Discourse,而不是原始邮件列表。用户无法通过 Discourse 直接向邮件列表发帖。
问:如何阻止用户通过电子邮件向镜像类别发帖?
答:虽然该类别允许通过电子邮件发帖,但您可以将传入电子邮件地址保密,以防止未经授权的发帖。


