Добавление в тело сообщения электронной почты после того, как пользователь выбирает отправить |стриж - PullRequest
0 голосов
/ 04 ноября 2019

В настоящее время у меня есть следующая функция, которая позволяет пользователю нажать кнопку и позволить ему составить электронное письмо:

@IBAction func emailButton(_ sender: Any) {

    if MFMailComposeViewController.canSendMail() {
        let mail = MFMailComposeViewController()
        let device : UIDevice = UIDevice()
        let modelName = device.deviceModel

        mail.mailComposeDelegate = self
        mail.setSubject("Example Subject")
        mail.setToRecipients(["example@example"])
        mail.setMessageBody("<p>Please provide some information below:</p> 
        <br><br><br>", isHTML: true)
        present(mail, animated: true)
    } else {
    }
}

Мне нужно добавить следующую информацию прямо перед отправкой электронного письма, чтобыоно все еще доставляется получателю, но пользователю не показывается для подделки.

Можно ли добавить, чтобы добавить в тело сообщения, не видя его пользователю?

1 Ответ

1 голос
/ 04 ноября 2019

Не возможно. После того, как вы позвоните present, у вас больше не будет никакого контроля над содержимым письма.

Просто добавьте дополнительную информацию в электронное письмо, прежде чем представлять редактору почты.

Мое приложение имеетбыла функция поддержки по электронной почте в течение 10 лет. В конце письма я включаю информацию, такую ​​как версия приложения, версия iOS и т. Д. У меня никогда не было проблем с этой частью письма.

Мое тело письма выглядит примерно так:

Бла-бла-бла. Дополнительные подробности:











---------------------------------------

Не изменяйте приведенную ниже информацию.

---------------------------------------

Версия приложения: xxxx
... а остальные ...

Мои пользователи никогда не путались с информацией. Конечно, половина или больше даже не предоставляют никакой информации, связанной с их вопросом.

Один прием, который может помочь, - сделать текст приложения белым или скрытым <div>. Но я бы не стал это скрывать. Это делает ваше приложение виновным в отправке личных, секретных данных. Уточни. Не скрывай это. Будьте честны.


Существует другое решение. Не используйте MFMailComposeViewController. Предоставьте пользователю способ ввести свое сообщение. Затем упакуйте все данные и отправьте их на ваш веб-сервер. Единственное, что вы теряете, это адрес электронной почты пользователя. Очевидно, что этот подход бесполезен, если вам нужно ответить пользователю.

...