2017-02-16 4 views
2

Я пытаюсь отправить по электронной почте через мое приложение, но я получил сообщение об ошибке под названием«Пожалуйста, настроить учетную запись электронной почты для того, чтобы отправить по электронной почте» Ошибка в Swift

«Пожалуйста, настроить учетную запись электронной почты, чтобы отправить Эл. адрес".

Мой блок кода ниже.

import MessageUI 

@IBAction func emailTapped(_ sender: Any) { 

    let mailComposerVC = MFMailComposeViewController() 
    mailComposerVC.mailComposeDelegate = self 
    mailComposerVC.setToRecipients(["[email protected]"]) 
    mailComposerVC.setSubject("Sending you an in-app e-mail...") 
    mailComposerVC.setMessageBody("Sending e-mail in-app is not so bad!", isHTML: false) 

    if MFMailComposeViewController.canSendMail() { 
     self.present(mailComposerVC, animated: true, completion: {() -> Void in }) 
    } 
} 

func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Swift.Error?){ 
    controller.dismiss(animated: true) {() -> Void in } 
} 
+0

Установили ли вы учетную запись электронной почты на устройстве, на котором вы тестируете? – rmaddy

+5

И зачем вы делаете всю работу по настройке почтового контроллера, прежде чем делать чек, чтобы узнать, действительно ли вы можете отправить электронное письмо? – rmaddy

ответ

2

Код выглядит достаточно хорошо (хотя его можно улучшить), вам нужно настроить свою учетную запись электронной почты на устройстве, которое вы используете.

import MessageUI 
    @IBAction func emailTapped(_ sender: Any) { 

      if MFMailComposeViewController.canSendMail() { 
       let mailComposerVC = MFMailComposeViewController() 
       mailComposerVC.mailComposeDelegate = self 
       mailComposerVC.setToRecipients(["[email protected]"]) 
       mailComposerVC.setSubject("Sending you an in-app e-mail...") 
       mailComposerVC.setMessageBody("Sending e-mail in-app is not so bad!", isHTML: false) 

       self.present(mailComposerVC, animated: true, completion: {() -> Void in }) 
      } 

     } 

     func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Swift.Error?){ 
      controller.dismiss(animated: true) {() -> Void in } 

     } 

Теперь поиск в Settings приложение на вашем iPhone, то Гото Mail ->Accounts ->Add Account для настройки учетной записи электронной почты по телефону. Вы можете проверить это video.

+0

ystack hey, я не смог найти часть конфигурации, а также ваше решение в xcode. Не могли бы вы уточнить, спасибо – gozdebal

+3

Настройки учетной записи электронной почты находятся на устройстве iOS, а не Xcode. Эти настройки недоступны в симуляторе только на реальном устройстве. – rckoenes

+0

Хорошо, rckoenes благодарит! – gozdebal

Смежные вопросы