摘要:問題描述由于某些原因,不能讓用戶進行注冊,只能有運營人員手動添加用戶,單個添加用戶比較麻煩,因此選擇使用上傳文件的形式來批量生成用戶,但是上傳用戶在不給定字段時,應該生成密碼并通知用戶,但是最終結果是生成用戶成功了,郵件并沒有發出郵件服務器
問題描述
Moodle簡介</>復制代碼
由于某些原因,不能讓用戶進行注冊,只能有運營人員手動添加用戶,單個添加用戶比較麻煩,因此選擇使用上傳文件的形式來批量生成用戶,但是上傳用戶在不給定 password 字段時,應該生成密碼并通知用戶,但是最終結果是生成用戶成功了,郵件并沒有發出(郵件服務器已正確配置,除了上傳用戶無法發送郵件外,其它添加用戶或者忘記密碼等操作都可以發送郵件),進過近一個星期對 moodle 源碼的研究,終于找到 問題所在并解決,特此記錄,望接下來遇到此問題的伙伴能盡快解決此問題!
簡介來自百度百科
</>復制代碼
Moodle(Modular Object-Oriented Dynamic Learning Environment)是一個用于制作網絡課程或網站的軟件包。它是一個全球性的開發項目,用以支持社會建構主義(social constructionist)的教育框架。Moodle是一個自由的開源軟件 (在GNU 公共許可協議下),也就是說Moodle是有版權的,但是你有額外的自由。你可以自由地復制、使用或者修改Moodle,前提條件是你同意:為他人提供代碼,沒有修改或刪除原有的版權和許可,以及將相似的版權應用于衍生的作品。
當前工作環境
服務器:阿里云Linux服務器 Apache
moodle版本: MOODLE_33_STABLE
其它moodle所需環境包括PHP、MySQL等和moodle官網安裝推薦一致,服務器路徑也一致
解決辦法
鎖定問題文件
找到moodle目錄下 admin/tool/uploaduser/index.php
該文件便是上傳用戶時所有操作流程的文件
鎖定問題所在位置
滾動到831行左右,找到如下代碼:
</>復制代碼
if ($user->password === "to be generated") {
set_user_preference("create_password", 1, $user);
}
解決問題
將以上代碼替換成如下代碼:
</>復制代碼
if ($user->password === "to be generated") {
setnew_password_and_mail($user);
unset_user_preference("create_password", $user);
set_user_preference("auth_forcepasswordchange", 1, $user);
}
代碼釋義:之前的代碼是只生成了密碼,但是并未執行發送賬號密碼郵件給用戶,因此替換后的代碼會先執行發送賬號密碼郵件,在清除已設置的密碼,最后設置用戶登錄時強制修改密碼。
問題總結</>復制代碼
目前在本地和線上測試上傳單個或多個用戶都能正常發送郵件,目的算是達到了!
解決此問題花費了不少時間,也怪筆者對 PHP 只能算是個半吊子,還未正式開發過 PHP 項目
因此走了不少彎路,但是最后問題得到解決,甚感欣慰!
</>復制代碼
*友情提示: 更改線上環境或測試環境代碼后,記得重啟服務器,例如當前環境就執行:service apache2 restart
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28907.html
摘要:不光是用于產品向客戶的通知服務更多的是用在企業內部的信息工具,比如我們就有等等非常多的開源工具,都需要配置來實現內部信息的聯動。 背景 smtp 是一種常見的服務,提供了程序自動化郵件外發的可能。不光是用于產品向客戶的通知服務;更多的是用在企業內部的信息工具,比如我們就有 sentry / confluence / zulip 等等非常多的開源工具,都需要配置 smtp 來實現內部信息...
摘要:七牛云接入本系統的圖片,音視頻是放在七牛云,所以需要接入七牛云。在服務端通過接口請求來獲取七牛云上傳,客戶端獲取到七牛云,通過不同方案將帶上。 效果展示 showImg(https://user-gold-cdn.xitu.io/2018/8/26/16576a709bd02f5f?w=1409&h=521&f=gif&s=30128195); showImg(https://user...
摘要:七牛云接入本系統的圖片,音視頻是放在七牛云,所以需要接入七牛云。在服務端通過接口請求來獲取七牛云上傳,客戶端獲取到七牛云,通過不同方案將帶上。 效果展示 showImg(https://user-gold-cdn.xitu.io/2018/8/26/16576a709bd02f5f?w=1409&h=521&f=gif&s=30128195); showImg(https://user...
搭建個人云存儲一般會想到ownCloud,堪稱是自建云存儲服務的經典。而Nextcloud是ownCloud原開發團隊打造的號稱是下一代存儲。初一看覺得口氣不小,剛推出來就重新定義了Cloud,真正試用過后就由衷地贊同這個Nextcloud:它是個人云存儲服務的絕佳選擇。 與ownCloud相比,Nextcloud的功能絲毫沒有減弱,甚至由于可以安裝云存儲服務應用,自制性更強,也更符合用戶的...
閱讀 3289·2021-11-25 09:43
閱讀 2091·2021-09-22 10:02
閱讀 3343·2021-09-06 15:00
閱讀 2303·2019-08-30 15:56
閱讀 2355·2019-08-30 15:54
閱讀 3231·2019-08-30 14:14
閱讀 2266·2019-08-29 17:25
閱讀 2908·2019-08-29 17:16