當CSV導入用戶到Silverstripe 3.6時,密碼更改的電子郵件被髮送出去。 有沒有辦法阻止這封郵件發送?禁止用戶導入時更改密碼電子郵件
-1
A
回答
2
看起來這種行爲來自成員的密碼字段在導入過程中(從無到有)被「更改」的事實。如果你看一下Member::onBeforeWrite
它檢查配置屬性「notify_password_change」,你可能會暫時使用自定義裝載機覆蓋:
class NoEmailMemberCsvBulkLoader extends MemberCsvBulkLoader
{
public function load($filepath)
{
try {
Config::nest()
Config::inst()->update('Member', 'notify_password_change', false);
return parent::load($filepath);
} finally {
Config::unnest();
}
}
}
然後,您可以告訴SilverStripe使用您的進口商來代替。這裏的問題是,MemberImportForm::doImport
直接實例化MemberCsvBulkLoader
,所以你不能用注入器重載它,或者以其他方式設置它。這是一個恥辱。
短期的選擇,因爲進口的CSV爲你(注意:不是你可能有一個客戶端)將是您的_config.php
的一個文件來禁用此配置設置,而你正在做的進口。
您可能會考慮對框架進行拉取請求,以使new MemberCsvBulkLoader
被使用的區域可注入。另一種選擇是直接向MemberCsvBulkLoader
發出拉取請求,以在成員上設置此配置選項,因爲您可能不是第一個認爲這是批量導入工具的奇怪行爲的人。
希望這會有所幫助!
相關問題
- 1. 當更新密碼時更改發送給用戶的電子郵件
- 2. 讓用戶提供當前密碼來更改密碼或電子郵件
- 3. 禁用無密碼 - 用戶應使用電子郵件和密碼登錄
- 4. 在電子郵件激活時強制更改密碼
- 5. 發送電子郵件時用電子郵件更改名稱
- 6. 使用CakePHP更新用戶電子郵件和密碼
- 7. 導入用戶(密鑰(電子郵件)=()已存在)
- 8. 在生成電子郵件時解密MySQL密碼以通知用戶密碼
- 9. 在PHP中使用cPanel XML API更改電子郵件密碼
- 10. iOS用戶電子郵件密碼輸入框
- 11. 防止用戶更改他們的電子郵件別名
- 12. 允許用戶更改自己的密碼,電子郵件和個人
- 13. 在iOS版Firebase 3中更改用戶的電子郵件/密碼
- 14. Android修改電子郵件帳戶密碼(非固定設備)
- 15. MeteorJS帳戶 - 密碼密碼重置電子郵件
- 16. 更改忘記密碼的電子郵件
- 17. 如何更改默認電子郵件WordPress的密碼?
- 18. Ruby on Rails/Devise - 需要密碼更改電子郵件
- 19. OWA:通過腳本更改電子郵件密碼
- 20. 電子郵件密碼更改,而無需登錄cpanel
- 21. 如何在Laravel中禁用密碼提醒電子郵件
- 22. 當用戶更改電子郵件地址時,「確認電子郵件」輸入是否良好實踐?
- 23. 電子郵件帳戶密碼如何在郵件客戶端中加密
- 24. GMail電子郵件導入
- 25. 用戶在Allauth上更改電子郵件後的確認電子郵件
- 26. FirebaseUI/Auth使用電子郵件密碼
- 27. ASP.NET用電子郵件/密碼登錄
- 28. 設計允許用戶使用密碼和密碼確認更改電子郵件
- 29. 離子 - 電子郵件/密碼
- 30. 設計更改電子郵件不更新電子郵件