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