簡體   English   中英

SwiftUI Firebase:發郵件到郵箱

[英]SwiftUI Firebase: Sending a message to the mail

在 function 中我想添加發送消息到確認 email,如果你確認,那么你會進入Homescreen() ,否則SignUp()
我需要在我的代碼中添加什么?

    func register(){
        
        if self.email != ""{
            if self.pass == self.repass{  
                Auth.auth().createUser(withEmail: self.email, password: self.pass) { (res, err) in
                    
                    if err != nil{   
                        self.error = err!.localizedDescription
                        self.alert.toggle()
                        return
                    }
                    
                    print("success")
                    
                    UserDefaults.standard.set(true, forKey: "status")
                    NotificationCenter.default.post(name: NSNotification.Name("status"), object: nil)
                }
            }
            else{   
                self.error = "Password mismatch"
                self.alert.toggle()
            }
        }
        else{  
            self.error = "Please fill all the contents properly"
            self.alert.toggle()
        }
    }

SignUp() - 查看注冊發生的位置
Homescreen() - 查看有關成功注冊的消息出現的位置

您可以先嘗試使用以下代碼使用 email 登錄用戶:

Auth.auth().signIn(withEmail: email, link: self.link) { authResult, error in
      // ...
    }
  • 如果有錯誤,則向用戶顯示錯誤警報。
  • 如果登錄成功,您可以使用以下代碼獲取當前用戶:
if let user = Auth.auth().currentUser {

}

在花括號內檢查當前用戶是否已經使用user.isEmailVerified驗證了電子郵件

  • 如果是這種情況,則只需顯示您的主屏幕

  • 如果當前用戶還沒有驗證他的電子郵件,你可以提出一個警告,用戶可以選擇是否要再次發送驗證電子郵件。 如果是這種情況,您可以簡單地重新發送電子郵件

user.sendEmailVerification {error in
   
}

並且用戶將收到他的驗證電子郵件,否則在發送 Email 時可能會發生錯誤,因此您也應該處理該錯誤!

祝你好運!


您還可以查看Firebase 文檔以進行 Email 驗證

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM