Добавить получателя в MFMailComposeViewController из представленной метки - PullRequest
0 голосов
/ 10 марта 2020

Здравствуйте, у меня есть приложение, которое позволяет пользователям отправлять электронные письма с помощью MFMailcomposeViewController. composeV C .setToRecipients (["email@gmail.com"])

В том же контроллере представления у меня есть метка, которая представляет электронную почту людей, загруженных из Firestore. Как я могу установить для получателей вместо (["email@gmail.com"]) (["mailRepresentedLabel@gmail.com"])

Я хочу получить данные из метки, представленной в почте, и автоматически добавить их получателю, чтобы Конечный пользователь не обязан добавлять письмо в setToRecipient, оно будет автоматически извлечено из mailRepresentedLabel

Пожалуйста ПОМОГИТЕ !!!

Мой текущий код выглядит следующим образом

               if !MFMailComposeViewController.canSendMail() {
                   print("Не удается отправить Имэйл")
                   return
               }
               let composeVC = MFMailComposeViewController()
               composeVC.mailComposeDelegate = self

               // Configure the fields of the interface.
        composeVC.setToRecipients(["\(String(describing: mailRepLabel))"])
               composeVC.setSubject("Register your client details with us")
               composeVC.setMessageBody("Dear agent please register your client with us by replying on that email in order for us to track the information that this client is came with you. if aftersometime the client would like to come without you we will always have the information that this client is came with you and we will send him back to you. Please reply with the following details: Client Name, Passport number Property Managers name.", isHTML: false)

               // Present the view controller modally.
               self.present(composeVC, animated: true, completion: nil)
               print("done")
           }

}

extension AgentViewController: MFMailComposeViewControllerDelegate {
    func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {
        if let _ = error {
            controller.dismiss(animated: true)

        return

        }
        switch result {
        case .cancelled:
            print("Canceled")
        case.failed:
            print("Failed to send")
        case.saved:
            print("Saved")
        case.sent:
            print("Email Sent")
        }
        controller.dismiss(animated: true)
    }
}```

1 Ответ

0 голосов
/ 10 марта 2020

Вы можете получить доступ к текстовому содержимому вашего ярлыка с атрибутом text. Итак ... Как-то так?

mailComposer.setToRecipients([mailRepLabel.text])

...