国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

解決Moodle在上傳用戶時無法自動發送賬號密碼郵件

Bryan / 2394人閱讀

摘要:問題描述由于某些原因,不能讓用戶進行注冊,只能有運營人員手動添加用戶,單個添加用戶比較麻煩,因此選擇使用上傳文件的形式來批量生成用戶,但是上傳用戶在不給定字段時,應該生成密碼并通知用戶,但是最終結果是生成用戶成功了,郵件并沒有發出郵件服務器

問題描述

</>復制代碼

  1. 由于某些原因,不能讓用戶進行注冊,只能有運營人員手動添加用戶,單個添加用戶比較麻煩,因此選擇使用上傳文件的形式來批量生成用戶,但是上傳用戶在不給定 password 字段時,應該生成密碼并通知用戶,但是最終結果是生成用戶成功了,郵件并沒有發出(郵件服務器已正確配置,除了上傳用戶無法發送郵件外,其它添加用戶或者忘記密碼等操作都可以發送郵件),進過近一個星期對 moodle 源碼的研究,終于找到 問題所在并解決,特此記錄,望接下來遇到此問題的伙伴能盡快解決此問題!
Moodle簡介

簡介來自百度百科

</>復制代碼

  1. Moodle(Modular Object-Oriented Dynamic Learning Environment)是一個用于制作網絡課程或網站的軟件包。它是一個全球性的開發項目,用以支持社會建構主義(social constructionist)的教育框架。Moodle是一個自由的開源軟件 (在GNU 公共許可協議下),也就是說Moodle是有版權的,但是你有額外的自由。你可以自由地復制、使用或者修改Moodle,前提條件是你同意:為他人提供代碼,沒有修改或刪除原有的版權和許可,以及將相似的版權應用于衍生的作品。
當前工作環境

服務器:阿里云Linux服務器 Apache

moodle版本: MOODLE_33_STABLE

其它moodle所需環境包括PHPMySQL等和moodle官網安裝推薦一致,服務器路徑也一致

解決辦法

鎖定問題文件

找到moodle目錄下 admin/tool/uploaduser/index.php

該文件便是上傳用戶時所有操作流程的文件

鎖定問題所在位置

滾動到831行左右,找到如下代碼:

</>復制代碼

  1. if ($user->password === "to be generated") {
  2. set_user_preference("create_password", 1, $user);
  3. }

解決問題

將以上代碼替換成如下代碼:

</>復制代碼

  1. if ($user->password === "to be generated") {
  2. setnew_password_and_mail($user);
  3. unset_user_preference("create_password", $user);
  4. set_user_preference("auth_forcepasswordchange", 1, $user);
  5. }

代碼釋義:之前的代碼是只生成了密碼,但是并未執行發送賬號密碼郵件給用戶,因此替換后的代碼會先執行發送賬號密碼郵件,在清除已設置的密碼,最后設置用戶登錄時強制修改密碼

問題總結

</>復制代碼

  1. 目前在本地和線上測試上傳單個或多個用戶都能正常發送郵件,目的算是達到了!
  2. 解決此問題花費了不少時間,也怪筆者對 PHP 只能算是個半吊子,還未正式開發過 PHP 項目
  3. 因此走了不少彎路,但是最后問題得到解決,甚感欣慰!

</>復制代碼

  1. *友情提示: 更改線上環境或測試環境代碼后,記得重啟服務器,例如當前環境就執行:service apache2 restart

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28907.html

相關文章

  • 適用于初創公司的超輕量級smtp服務配置

    摘要:不光是用于產品向客戶的通知服務更多的是用在企業內部的信息工具,比如我們就有等等非常多的開源工具,都需要配置來實現內部信息的聯動。 背景 smtp 是一種常見的服務,提供了程序自動化郵件外發的可能。不光是用于產品向客戶的通知服務;更多的是用在企業內部的信息工具,比如我們就有 sentry / confluence / zulip 等等非常多的開源工具,都需要配置 smtp 來實現內部信息...

    JinB 評論0 收藏0
  • 聊聊畢業設計系列 --- 系統實現

    摘要:七牛云接入本系統的圖片,音視頻是放在七牛云,所以需要接入七牛云。在服務端通過接口請求來獲取七牛云上傳,客戶端獲取到七牛云,通過不同方案將帶上。 效果展示 showImg(https://user-gold-cdn.xitu.io/2018/8/26/16576a709bd02f5f?w=1409&h=521&f=gif&s=30128195); showImg(https://user...

    null1145 評論0 收藏0
  • 聊聊畢業設計系列 --- 系統實現

    摘要:七牛云接入本系統的圖片,音視頻是放在七牛云,所以需要接入七牛云。在服務端通過接口請求來獲取七牛云上傳,客戶端獲取到七牛云,通過不同方案將帶上。 效果展示 showImg(https://user-gold-cdn.xitu.io/2018/8/26/16576a709bd02f5f?w=1409&h=521&f=gif&s=30128195); showImg(https://user...

    qpal 評論0 收藏0
  • Nextcloud個人云存儲絕佳選擇:一鍵自動安裝方法和云盤使用體驗

    搭建個人云存儲一般會想到ownCloud,堪稱是自建云存儲服務的經典。而Nextcloud是ownCloud原開發團隊打造的號稱是下一代存儲。初一看覺得口氣不小,剛推出來就重新定義了Cloud,真正試用過后就由衷地贊同這個Nextcloud:它是個人云存儲服務的絕佳選擇。 與ownCloud相比,Nextcloud的功能絲毫沒有減弱,甚至由于可以安裝云存儲服務應用,自制性更強,也更符合用戶的...

    Shisui 評論0 收藏0

發表評論

0條評論

Bryan

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<