前言

前面一篇文章主要写了:
Valine - 一款快速、简洁且高效的无后端评论系统
在Hexo(sakura)主题中引入valine评论系统以及魔改diy样式!

插曲:根据cndrew的提醒,这里修改一处:
在这里插入图片描述
修改如图:
在这里插入图片描述

正文

Valine - 自定义邮件回复提示效果图:

  • leancloud自带原模板(valine是基于leadcloud)
    在这里插入图片描述
  • 第三方Valine-admin模板
    在这里插入图片描述
    彩虹主题:
    在这里插入图片描述
    我觉得你应该会选择第二个模板,那么直接跳到第二种valine-admin模板教程就好了~

    1.原邮箱模板

    参考于:Hexo-Sakura 设置Valine评论系统邮件提醒

1.1 登录leadcloud后台,在应用的设置->邮件模板->邮件主题(修改主题名称和内容,保存)
在这里插入图片描述
修改邮件主题:你在的评论收到了新的评论
内容如下:(链接为你的博客主页链接)

<p>Hi, {{username}}</p>
<p>你在 {{appname}} 的评论收到了新的回复,请点击查看:</p>
<p>
<a href="https://cungudafa.gitee.io" style="display: inline-block; padding: 10px 20px; border-radius: 4px; background-color: #3090e4; color: #fff; text-decoration: none;">马上查看</a></p>

点击“保存”按钮
1.2修改Sakura 主题配置文件,位置:\themes\Sakura\layout\_partial\comment.ejs ,修改notify: true
在这里插入图片描述
效果:
在这里插入图片描述
不是很nice!下面给出一个加强plus版~

2.valine-admin模板

2.1设置云引擎

参考于:zhaojun的hexo-valine-admin
此项目是一个对 Valine 评论系统的拓展应用,可增强 Valine 的邮件通知功能。基于 Leancloud 的云引擎与云函数。可以提供邮件 通知站长 和 @ 通知 的功能,而且还支持自定义邮件通知模板。

  1. 点击 云引擎 -> 设置填写代码库并保存:https://github.com/zhaojun1998/Valine-Admin

    建议直接用zhaojun的模板,如果需要修改模板,克隆地址,修改:此配置会去寻找 template{TEMPLATE_NAME} 目录下的 notice.ejs 与 send.ejs 模板文件,分别用于通知站长和通知游客,另外欢迎提供邮件主题样式。

    在这里插入图片描述

  2. 切换到部署标签页,Git源码部署-分支使用 master,点击部署即可:
    在这里插入图片描述
    master
    在这里插入图片描述

    如果这个地址为你的地址,

  3. 配置项,设置云引擎的环境变量以提供必要的信息,点击云引擎的设置页,自定义环境变量中逐项添加:

    在这里插入图片描述

    名称描述是否必选
    SITE_NAME姑的小屋网站名称
    SITE_URLhttps://cungudafa.gitee.io网站地址, 最后不要加 /
    SMTP_USERcungudafa@163.comSMTP 服务用户名,一般为邮箱地址
    SMTP_PASS*********SMTP 密码,一般为授权码,而不是邮箱的登陆密码,请自行查询对应邮件服务商的获取方式
    SMTP_SERVICE163邮件服务提供商,支持 QQ、163、126、Gmail、”Yahoo”、…… ,全部支持请参考 : Nodemailer Supported services。
    SENDER_NAME姑(cungudafa) 寄件人名称
    ADMIN_URLhttps://xxx.xx.cn/post主机二级域名,用于自动唤醒建议
    TO_EMAILxxxxx@qq.com博主通知收件地址,默认使用SENDER_EMAIL可选
    AKISMET_KEYxxxxxxxxxxxxAkismet Key 用于垃圾评论检测可选
    TEMPLATE_NAMEdefault默认主题和rainbow彩虹主题可选

    记得每次修改后都要重启容器!

  4. 重启容器
    在这里插入图片描述

2.2防止云引擎休眠

免费版的 LeanCloud 容器,是有强制性休眠策略的,不能 24 小时运行:

  • 每天必须休眠 6 个小时
  • 30 分钟内没有外部请求,则休眠。
  • 休眠后如果有新的外部请求实例则马上启动(但激活时此次发送邮件会失败)。

分析了一下上方的策略,如果不想付费的话,最佳使用方案就设置定时器,每天 7 - 23 点每 20 分钟访问一次,这样可以保持每天的绝大多数时间邮件服务是正常的。

  1. 点击云引擎 - 定时任务,新增定时器,按照图片上填写:

     0 0/20 7-23 * * ?

    在这里插入图片描述

  2. 云引擎-设置-自定义环境变量中添加

     ADMIN_URL:你的域名

    在这里插入图片描述

  3. 添加后要记得点击启用

  4. 启用成功后,每 20 分钟在云引擎的 - 应用日志中可以看到提示:
    在这里插入图片描述

记得每次修改 环境变量 后都要==重启容器!==

2.3hexo(sakura)设置

将自定义邮件关闭,不然会发送两封邮件哦!

  notify: false #true自带评论mail回复提醒,第三方邮件提醒就设置为false

在这里插入图片描述
站长邮件提示效果:
在这里插入图片描述

在这里插入图片描述
评论者收到回复效果:
在这里插入图片描述

ps.再次光临的链接位置在评论位置,but地址路径为https://cungudafa.gitee.io/post/45da.html#comments
新版valine命名为的vcomments,所以得#vcomments才能定位,此时需要:

  1. 克隆zhaojun的模板,修改:此配置会去寻找 template{TEMPLATE_NAME} 目录下的 notice.ejs 与 send.ejs 模板文件,分别用于通知站长和通知游客。
  2. 回到步骤 2.1设置云引擎,修改 路径为你的路径
  3. 重启云引擎!

其实,我认为#vcomments定位到评论区有一定的优化用户体验,现在已经定位到评论文章了嘛,手动翻翻
如果需要精确定位到第几条评论#vcomments-2就需要魔改了💦
我目前暂未修改,如果我针对sakura版本修改了Valine-Admin项目,我到时候再补充项目地址啦,偷偷懒💤~


姑,一个学习记录者