bounty将在6天后过期。回答此问题可获得+150声望奖励。Thomas Kekeisen希望引起更多人关注此问题。
我正在做一个简单的苹果邮箱扩展,但不能从我的邮件中得到可读的东西。
func allowMessageSendForSession(_ session: MEComposeSession, completion: @escaping (Error?) -> Void) {
let mailMessage = session.mailMessage;
let subject = mailMessage.subject
let sender = mailMessage.fromAddress.addressString ?? "undefined";
let data = String(data: mailMessage.rawData!, encoding: .utf8)
在数据中是邮件头和邮件体,但是它填充了太多的“引用的可打印的”字符串。
就像Viele Gr=C3=BC=C3=\n=9Fe =F0=9F=A4=9D
。应该是Viele Grüße 🤝
。
我已经试过这个答案中的代码https://stackoverflow.com/a/32827598/1407823,但它似乎只适用于单个单词。我不能让它适用于整个文本。
难道没有内置的方法来解析这样的文本吗?
1条答案
按热度按时间tjrkku2a1#
没有内置的方法来解码消息,您需要一个RFC822解析器,例如GitHub上的MimeParser,可作为Swift Package使用。
这是一个如何将正文解码为纯文本的示例,
messageData
表示消息的原始数据使用
subtype == "html"
可以获得HTML文本(如果可用