所以您想为您的 Discourse 论坛设置通过电子邮件回复支持。
电子邮件回复在所有 discourse.org 托管的站点上默认预先配置并启用。下面的指南仅适用于自行托管的用户。
好消息!与传出电子邮件(这对于 GMail、Outlook、Yahoo Mail 等典型消费邮件服务来说完全不适用)不同,传入的电子邮件回复通常数量极少。除非您的论坛规模极其庞大,有成千上万的人回复通知邮件,否则您可能使用 Gmail 就很安全了。
或者,如果您不习惯为此使用 GMail,可以使用 Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver 设置您自己的传入邮件服务。
所以,以下是使用 GMail 作为示例的设置方法。
-
创建一个新的 GMail 帐户。如果您不设置一个全新的电子邮件帐户,旧邮件将通过 POP3 同步,导致不可预见的问题并发送退信通知邮件!
-
为新帐户分配一个用户名,例如
discourse-replies@example.com,或者在我的情况下是replies@example.com(如果您使用的是普通 GMail 帐户,请在此处将@example.com替换为@gmail.com)。为其设置一个强密码。 -
通过 http://mail.google.com 登录此帐户。接受服务条款,输入验证码,加载默认的网页界面。也许发送一封测试邮件,接收一封测试邮件。试用一下。
-
POP3s 访问在 Gmail 中默认是关闭的,所以请通过“设置”、“邮件转发和 POP/IMAP”将其打开:
默认情况下会保留所有传入邮件——但您可以根据需要进行调整。
-
访问 Discourse 设置并检查“电子邮件”选项卡。
-
更改以下设置:
reply_by_email_address输入replies+%{reply_key}@example.compop3_polling_username输入replies@example.compop3_polling_password输入该电子邮件帐户的密码pop3_polling_host设置为pop.gmail.compop3_polling_enabled设置为 truereply_by_email_enabled设置为 true
这个帐户会进行一定程度的轮询,但我们已将其设置为低、安全的频率——您可以通过 pop3_polling_period_mins 设置来配置轮询间隔。
我们假设您的电子邮件服务支持加号寻址(即地址标签),因此在开始之前请检查这一点。Gmail 当然是支持的。
如果一切正常,您现在应该会在所有通知邮件的页脚看到提示,告诉您可以回复,方法是访问网站或通过电子邮件回复:
要回应,回复此电子邮件或在浏览器中访问 {topic URL}。
如果不正常工作:
-
在您的网络浏览器中查看 Discourse 的
/logs路径,查找与电子邮件相关的错误消息。 -
使用您的网络浏览器登录您的邮件帐户,检查是否有任何错误或通知。
转发发送到其他地址的邮件
假设您正在轮询来自“replies@your.domain”帐户的电子邮件,并且您想为“help@your.domain”和“dev@your.domain”设置传入电子邮件。
您需要将发送到“help@your.domain”和“dev@your.domain”的所有电子邮件转发到“replies@your.domain”。如果您使用的是 GMail,他们有一篇关于如何自动将传入电子邮件转发到另一个帐户的精彩教程。
然后,Discourse 将定期轮询来自“reply@discourse.org”帐户的电子邮件,并将邮件投递到相应的 category(类别)、group(群组)、topic(主题)或 message(消息)。
潜在问题
-
我们发现在不同国家/地区注册 GMail 帐户与您的服务器所在国家/地区不同时会出现困难。例如,如果您在英国注册 Gmail 帐户,但服务器在美国。
-
如果您使用的是 GMail 帐户(例如 @gmail.com)或 Google Workspace 邮箱(例如您域名的 Google 邮箱 @yourdomain.com),则需要为您的帐户创建应用密码,在第 6 步中用它代替您的帐户密码。
另请参阅:Troubleshoot reply by email
ℹ 自 2022 年 5 月 30 日起,Google 的**“不太安全的应用程序访问”**选项不再受支持,因此您需要使用应用密码,并启用双重身份验证才能使用它。