Valine評論系統郵件提醒

這幾天想到,別人給我發的評論,我還要到後台去看,實在是太麻煩了,於是發現了一個好項目valine-admin可以幫我發送郵件評論提醒,這樣我就可以實時收到別人給我發的評論。

項目地址

本文章圖片素材,部分來自此項目的官網

設置valine郵件提醒

我們需要先確保你的valine可以正常發送郵件

訪問leancloud

如圖設置你的郵件主題

  1. 修改郵件主題:你在某某網站的評論收到了新的評論
  2. 修改內容:將下面的程式碼複製到「內容」中,並將其中的你的網址首頁鏈接改為你的網址首頁鏈接。
<p>Hi, {{username}}</p>  <p>  你在 {{appname}} 的評論收到了新的回復,請點擊查看:  </p>  <p><a href="你的網址首頁鏈接" style="display: inline-block; padding: 10px 20px; border-radius: 4px; background-color: #3090e4; color: #fff; text-decoration: none;">馬上查看</a></p>
  1. 點擊「保存」按鈕

部署valine-admin

  1. 點擊 雲引擎 -> 設置 填寫程式碼庫並保存:https://github.com/zhaojun1998/Valine-Admin
  1. 切換到部署標籤頁,分支使用 master,點擊部署即可:

配置變數

我們需要設置如下參數:

必選參數

  • SITE_NAME : 網站名稱。
  • SITE_URL : 網站地址, 最後不要加 /
  • SMTP_USER : SMTP 服務用戶名,一般為郵箱地址。
  • SMTP_PASS : SMTP 密碼,一般為授權碼,而不是郵箱的登陸密碼,請自行查詢對應郵件服務商的獲取方式。
  • SMTP_SERVICE : 郵件服務提供商,支援 QQ163126Gmail"Yahoo"...... ,全部支援請參考 : Nodemailer Supported services。 — 如這裡沒有你使用的郵件提供商,請查看自定義郵件伺服器
  • SENDER_NAME : 寄件人名稱。

請注意:如果你使用企業郵箱,那麼你需要添加其他參數,請參考下方的自定義郵件伺服器

自定義郵件伺服器

SMTP_SERVICE 中沒有你使用的郵件服務提供商, 也可以進行自定義。

參數配置如下:

  • SMTP_HOST : 郵件服務提供商 SMTP 地址,如 qq : smtp.qq.com此項需要自行查詢或詢問其服務商
  • SMTP_PORT : 郵件服務提供商 SMTP 埠, 此項需要自行查詢或詢問其服務商
  • SMTP_SECURE : 是否啟用加密, 默認為 true,一般不需要設置,如有特殊請自行配置。 此項需要自行查詢或詢問其服務商

注: 配置自定義郵件伺服器的話,請不要同時配置 SMTP_SERVICE。當 SMTP_SERVICE 未配置時才會啟用自定義郵件服務。

休眠策略

WEB服務

免費版的 LeanCloud 容器,是有強制性休眠策略的,不能 24 小時運行:

  • 每天必須休眠 6 個小時
  • 30 分鐘內沒有外部請求,則休眠。
  • 休眠後如果有新的外部請求實例則馬上啟動(但激活時此次發送郵件會失敗)。

分析了一下上方的策略,如果不想付費的話,最佳使用方案就設置定時器,每天 7 – 23 點每 20 分鐘訪問一次,這樣可以保持每天的絕大多數時間郵件服務是正常的。

首先需要先配置下 Web 主機的域名,使用定時器時要用到。配置方式如下。

後台登錄需要帳號密碼,需要在這裡設置,只需要填寫 emailpasswordusername,這三個欄位即可, 使用 email 作為帳號登陸即可。(為了安全考慮,此 email 必須為配置中的 SMTP_USERTO_EMAIL, 否則不允許登錄)

LeanCloud 自帶定時器[推薦]

首先需要添加環境變數,ADMIN_URLWeb 主機域名,如圖所示(添加後重啟容器才會生效):

注意, LeanCloud 最近更新了定時器校驗規則, 需要將 Cron 表達式寫為: 0 */20 7-23 * * ?


高級功能

自定義郵件模板

目前內置了兩款主題,分別為 defaultrainbow, 需要在 雲引擎 -> 設置 -> 環境變數 中配置參數 TEMPLATE_NAME,默認為 default

此配置會去尋找 template{TEMPLATE_NAME} 目錄下的 notice.ejssend.ejs 模板文件,分別用於通知站長和通知遊客,另外歡迎提供郵件主題樣式。

為什麼我收不到郵件?

  • 請確認評論時留下的郵箱不是環境變數里的 SMTP_USERTO_EMAIL 里的郵箱,原因詳見 7.30 更新日誌。
  • 請確認修改環境變數後已重啟容器。
  • 對於 QQ / 網易 163 郵箱,請確認你輸入的是 SMTP 的授權碼,而不是登陸密碼。QQ郵箱獲取授權碼 網易郵箱獲取授權碼

其他

更多功能請參考項目地址:

項目地址

部落格內容遵循 署名-非商業性使用-相同方式共享 4.0 國際 (CC BY-NC-SA 4.0) 協議 本文永久鏈接是:https://mrhuanhao.cn/2020/03/25/emailreply/ 轉載時,請註明文章來源!!!