Откройте почтовое приложение с указанием c почты во входящей почте с помощью Swift - PullRequest
1 голос
/ 18 июня 2020

У меня есть UID сообщения электронной почты в папке «Входящие». Теперь я хочу открыть Apple Mail (или, альтернативно, Outlook), чтобы представить это письмо пользователю. Все примеры, которые я нашел, - это запуск стандартной программы Mail для создания нового электронного письма.

Any Idea, hoe to решить эту проблему. Я пробовал использовать Applescript, но он не работает.

import SwiftUI

struct ContentView: View {
  var body: some View {
    Button(action: {
      present_Email()
    }) {
      Text("Show E-Mail")
    }
    .frame(maxWidth: .infinity, maxHeight: .infinity)
  }
}

func present_Email()
{
  let myAppleScript = """
    tell application "Mail"
    set myMessages to messages 1 through 1 of inbox
    repeat with aMesseage in myMessages
    open (contents of aMesseage)
    end repeat
    end tell
    """

  var error: NSDictionary?
  if let scriptObject = NSAppleScript(source: myAppleScript) {
    scriptObject.executeAndReturnError( &error)
  }
}

1 Ответ

0 голосов
/ 19 июня 2020

Нашел довольно простое решение:
Чтобы открыть почтовое приложение с заданным идентификатором сообщения, вы можете просто открыть его через сообщение: Схема URL.
Нет необходимости в AppleScript ;-).

Button(action: {
  NSWorkspace.shared.open(URL(string: "message:%3C...YOUR-MESSAGE_ID....%3E")!)
      }) {
        Text("Open E-Mail in Mail App")
      }
...