Valine評論系統郵件提醒


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

image

項目地址

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

設置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>
    
  3. 點擊“保存”按鈕

image

部署valine-admin

  1. 點擊 雲引擎 -> 設置 填寫代碼庫並保存:https://github.com/zhaojun1998/Valine-Admin

image

  1. 切換到部署標簽頁,分支使用 master,點擊部署即可:

    image

    image

配置變量

我們需要設置如下參數:

必選參數

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

image

{% noteblock warnring yellow %}

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

{% endnoteblock %}

自定義郵件服務器

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

參數配置如下:

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

{% noteblock warnring yellow %}

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

{% endnoteblock %}

休眠策略

WEB服務

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

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

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

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

image

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

image

LeanCloud 自帶定時器[推薦]

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

image

image

{% noteblock warnring yellow %}

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

{% endnoteblock %}


高級功能

自定義郵件模板

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

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

為什么我收不到郵件?

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

其他

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

項目地址

我的同步更新博客地址: https://mrhuanhao.cn


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM