В Swift при прикреплении фотографии в теле письма она отображается нормально на телефоне, а не на компьютере - PullRequest
0 голосов
/ 20 октября 2019

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

Редактировать: Кажется, это может быть вещь Gmail. Мой аккаунт Godaddy сработал, а Yahoo ничего не показал. Не должно нравиться электронное письмо в теле.

Edit2: игнорировать этот пост. Я изменил его на вложение, и все работает намного лучше. Спасибо за просмотр, и я скоро это удалю.

    @IBAction func SubmitIssue(_ sender: UIButton) {
        let IssueSubjectText = issueLabel.text ?? ""
        var IssueBodytext = ""
        let IssueComposer: MFMailComposeViewController = MFMailComposeViewController()
        let sendIssueTo = [villageEmail]
        if issueLocation?.isHidden == false {
            IssueBodytext += "<html><body><p>Location: " + (issueLocation?.text ?? "") + "</p></body></html>"
        }
        IssueBodytext += issueDescription.text + "</p></body></html>"
        IssueBodytext += UserDefaults.standard.string(forKey: "username")! + "</p></body></html>"
        IssueBodytext += UserDefaults.standard.string(forKey: "phonenumber")! + "</p></body></html>"
        if issueImage.isHidden == false {
            let image = issueImage.image
            let imageData = image!.pngData() ?? nil
            let base64String = imageData?.base64EncodedString() ?? ""
            IssueBodytext += "<html><body><p><b><img src='data:image/png;base64,\(String(describing: base64String) )' width='auto' height='50%'></b></p></body></html>"
        }
        IssueComposer.mailComposeDelegate = self
        IssueComposer.setSubject(IssueSubjectText)
        IssueComposer.setMessageBody(IssueBodytext, isHTML: true)
        IssueComposer.setToRecipients(sendIssueTo)
        self.present(IssueComposer, animated: true, completion: nil)
    }```

On Computer, the photo looks like this:
<img src='data:image/png;base64,iVBORw0KG....(and on for a while...)
...