升级到5.30版本后,我发现Ghost终于加入了原生的文章评论功能!我快哭了要,终于可以扔掉Disqus、畅言、来必力这些难用的第三方评论系统了,也不用琢磨isso、commento怎么安装了。

看了看Ghost的更新日志,他们用了5天就开发好这个功能了,我微笑。

使用Ghost原生评论,需要以下条件:

  • 升级到Ghost 5.30版本。 升级办法请看这篇文章
  • 后台启用评论功能。
  • Ghost的邮件系统可用。 只有注册为Ghost用户后才可以发表评论,注册需要发送验证邮件。

本文将介绍后面两个条件如何达成。

启用评论功能

登录Ghost后台,点击左下角⚙按钮,点击「Membership」,找到Commenting这里,选择All members,右上角保存即可。

配置Ghost邮件系统

正常来说,Ghost内置了Nodemailer邮箱程序,安装好Ghost就已经可以发送事务性邮件(比如注册、登录、找回密码等)了。检查办法是自己在前台注册一下,看能不能正常收到确认邮件。
但是有的人会遇到邮件系统不可用的情况(比如我),或者需要将新文章群发给订阅用户,我这里就一次性说明如何配置好Ghost的事务邮件和群发邮件功能

这里将用到官方推荐的发信服务Mailgun。

1. 注册Mailgun

点击这里注册。注册时默认提示要提供信用卡信息,取消勾选Add payment info now前面的复选框就可以直接跳过这一步了。


注册好并登录后,请点击左边侧边栏的Sending,再点击右边绿色的「Add new domain」来添加邮箱域名。

添加时需要绑定你的域名,可以是二级域名,我这里绑定的是mg.cheapy.top,同时选择发信服务器所在区域,可以选择US或者EU,我这里选择的是US,请记住你的选择

点击下一步后,请到DNS服务提供商那里根据Mailgun要求做好域名指向,完成。

2. 配置Ghost群发邮件

配置群发功能需要获取Mailgun的API Key,在Mailgun后台点击右上角你的用户名,再在弹出窗内点击「API Key」

这里会显示很多个Key,我们需要的是Private API key,点击他右边的眼睛按钮就可以复制了。

登录你的Ghost后台,点击左下角的⚙按钮,点击Email newsletter,在页面最下面找到Mailgun configuration,点击右边的「Expand」按钮,填写下面的信息。

  • Mailgun region:与第一步绑定邮箱域名时选择的区域一致
  • Mailgun domain:你在Mailgun绑定的邮箱域名
  • Mailgun Private API key:填入刚刚复制的key

最后点击右上角Save,就可以啦。

2. 配置Ghost事务性邮件

💡
再说一次,如果你的Ghost本身就可以发送事务性邮件(注册、登录、找回密码)这里就不用再配置了,还挺麻烦的。本篇默认大家使用的是docker-compose方法安装的Ghost。

在Mailgun后台中,点击侧边栏的Sending,再点击Domain settings,再点击SMTP credentials,再点击右上角Add new SMTP user,就可以添加新的SMTP发信地址了。

添加完成后,右下角会提示你复制发信邮箱的密码,这个密码只能复制一次,请复制后保存好,不然就只能重设密码了。

登录ssh,停止运行Ghost:

docker stop [Ghost容器名]

将Ghost的配置文件config.production.json复制到宿主机根目录上:

docker cp [Ghost容器名]:/var/lib/ghost/config.production.json /config.production.json
💡
提示:Ghost容器名可以通过docker ps查询。

编辑这个文件,使用vivi /config.production.json或者直接用文件管理器打开。

找到「mail」这一趴,替换成以下内容:

"mail": {
    "transport": "SMTP",
     "options": {
      "service": "Mailgun",
      "auth": {
        "user": "你刚刚新建的SMTP发信邮箱地址",
        "pass": "你刚刚复制的SMTP发信邮箱密码"
      }
    }
  },

保存后,使用以下命令将修改好的文件传回Docker容器:

docker cp /config.production.json [Ghost容器名]:/var/lib/ghost/config.production.json

重启Ghostdocker-compose -f [compose文件地址] up -d,大功告成。

在Ghost后台设置中点击「About Ghost」查看是否已经是SMTP发信方式了。

我这里还是提示无法发邮件,但实际上已经可以发了,不知道什么情况。