MailCore в электронной почте Swift не показывает ссылку - PullRequest
0 голосов
/ 16 марта 2019

Я использую Mailcore 2 в Swift 4 для отправки подтверждения по электронной почте пользователям.Письмо содержит глубокую ссылку для приложения.Ссылка работает нормально, когда пользователь проверяет свою электронную почту в приложении iPhone Mail, но на нее нельзя нажать, если пользователь открывает свою почту в браузере или любом другом приложении.

let smtpSession = MCOSMTPSession()
                smtpSession.hostname = "smtp.office365.com"//"m.outlook.com"
                smtpSession.username = "..."
                smtpSession.password = "..."
                smtpSession.port = 587//25
                //smtpSession.authType = MCOAuthType.xoAuth2Outlook//xoAuth2Outlook
                smtpSession.connectionType = MCOConnectionType.startTLS//TLS
                smtpSession.connectionLogger = {(connectionID, type, data) in
                    if data != nil {

                        if let string = NSString(data: data!, encoding: String.Encoding.utf8.rawValue){
                            NSLog("Connectionlogger: \(string)")

                        }
                    }
                }
                let builder = MCOMessageBuilder()
                builder.header.to = [MCOAddress(displayName: "Student", mailbox:bodyTextField.text)]
                builder.header.from = MCOAddress(displayName: "PU APP", mailbox: "...")
                builder.header.subject = "PU APP Verification"

            let appLink = "phoeniciaUniversitypumobileapp://"
            builder.htmlBody = "<h1 align='center'>Congrats</h1> <p>Welcome and thank you for installing the PU App.\n Please click <a href = " + appLink + ">here</a> to start your experience</p> <p> \n Regards,</p><p>The IT depaartment.</p>"




                let rfc822Data = builder.data()
                let sendOperation = smtpSession.sendOperation(with: rfc822Data)
                sendOperation?.start { (error) -> Void in
                    if (error != nil) {
                        NSLog("Error sending email: \(String(describing: error))")
                        alert.dismiss(animated: false, completion: nil)

                    } else {
                        NSLog("Successfully sent email!")
                        alert.dismiss(animated: false, completion: nil)

                        let deviceID = UIDevice.current.identifierForVendor?.uuidString
                        UserDefaults.standard.set(deviceID, forKey: "savedDeviceID")

                        self.showSuccessfulAlert()




                }
            }

В приложении iPhone Mail: В почтовом приложении

приложение Outlook

...