升级到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事务性邮件
在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
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发信方式了。

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