我正在創建一個網站,您可以在其中創建帳戶。作爲註冊過程的一部分,我想向用戶的電子郵件地址發送激活電子郵件。我在想,這封電子郵件會包含一個用戶點擊的鏈接,這將激活帳戶,問題是我不知道如何創建鏈接以及如何工作。我將如何動態生成此鏈接以及如何激活帳戶?使用php電子郵件激活帳戶
感謝
我正在創建一個網站,您可以在其中創建帳戶。作爲註冊過程的一部分,我想向用戶的電子郵件地址發送激活電子郵件。我在想,這封電子郵件會包含一個用戶點擊的鏈接,這將激活帳戶,問題是我不知道如何創建鏈接以及如何工作。我將如何動態生成此鏈接以及如何激活帳戶?使用php電子郵件激活帳戶
感謝
當你正準備發送電子郵件,創建帳戶後,你將不得不添加到您的數據庫中的記錄,以驗證該帳戶,其中應包括該帳戶的ID和激活串(我會生成一個10至15個字符的隨機十六進制或字母數字字符串)。這個記錄不論是被激活還是數字(或二進制)1或0都應該有一個布爾值true或false。在發送電子郵件之前將其設置爲false。在電子郵件中的鏈接中發送此激活字符串和帳戶ID。
對於您創建的任何鏈接,您將需要單個頁面供他們使用,即activateaccount.php 從該文件內部,您可以接收$ _GET參數,也許$ _GET ['activation ']和$ _GET ['account_id']。在此頁面中,您將驗證激活和account_id是否都有效,並且它們是否相互匹配。如果沒有,那麼腳本不應該嘗試通過寫入數據庫來解決不匹配問題,因爲這可能會導致不希望的攻擊。如果它們都有效且匹配,則可以激活該賬戶。
也作爲Pingbeat建議,去Swiftmailer。我之前在許多項目中使用過它,並且可以確認它非常通用,速度快,記錄非常完善並且非常易於使用。
我希望這個建議有幫助。
您正在使用數據庫,不是嗎?您可以爲用戶數據添加一個字段,並生成該值以外的鏈接。然後使用腳本來驗證與該值鏈接的人,這些人可以存儲在GET值中。自動發送郵件應該很難。你用什麼來發送郵件?像swiftmail的東西?然後使用該腳本將驗證值更改爲某物。像ACTIVIVATED等。 http://stackoverflow.com/questions/2293684/what-is-the-best-way-to-create-a-random-hash-string – Pingbeat
是的,我是。我只是使用PHP腳本發送郵件,我只需要在我的腦海中獲得它的邏輯。你說的話很有道理,我想我會嘗試使用這種邏輯。 – EthanLewis