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