繁体   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