2

在过去的几天里,我一直在努力寻找一种从我的应用程序发送电子邮件的方法。这是我目前正在使用的示例代码。它认为,通过使用这种方法,我可能无法处理我的应用程序将运行的计算机的邮件帐户设置不正确的情况,所以我考虑使用不同的方法。我想知道是否有任何适用于 mac os 的 MessageUI。是否有任何适用于 mac os 的 MessageUI。有任何想法吗?

4

2 回答 2

8

有两种方法可以做到这一点:

  1. AppleScript框架

  2. NSSharingService

NSSharingService 来撰写邮件:

let service = NSSharingService(named: NSSharingServiceNameComposeEmail)

service?.recipients = ["test@gmail.com"]
service?.subject = "Test Mail"
service?.performWithItems(["Test Mail body"])

启动邮件应用程序

如果您只想打开Mail应用程序,请尝试以下代码:

NSWorkspace.sharedWorkspace().launchApplication("Mail")

设置不当:

  • 如果系统上未配置帐户,此代码将显示邮件配置窗口
  • 当用户尝试发送邮件时,邮件应用程序会显示与设置相关的错误,因此您无需为此烦恼
  • 如果您想使用其他邮件应用程序,只需尝试您自己的邮件系统、本机邮件客户端或第三方邮件框架。

从终端尝试:

您可以使用 shell 脚本使用本机客户端发送邮件

mail -s "Hello" "test@gmail.com" <<EOF
Hello, Test!
EOF
于 2016-09-07T14:00:37.320 回答
2

对于 Swift 4,变化不大。

let service = NSSharingService(named: NSSharingService.Name.composeEmail)
service?.recipients = ["test@gmail.com"]
service?.subject = "Test Mail"
service?.perform(withItems: ["Test Mail body"])
于 2018-05-24T20:10:28.260 回答