我正在尝试使用ScriptBridge从Apple Mail保存选定的电子邮件。
我已经创建了Mail.h文件,在我的程序中,我已成功完成Apple Mail ScriptBridge的其他操作(如转发消息等)。
这是我目前的代码。我没有收到错误消息,代码运行正常;只有文件永远不会被创建。
我正在使用Xcode 4.6。在山狮10.8.2。我的应用的部署目标是10.8。
- (void)saveEmail {
MailApplication *mailApp = [SBApplication applicationWithBundleIdentifier:@"com.apple.Mail"];
SBElementArray *viewers = [mailApp messageViewers];
for (MailMessageViewer *viewer in viewers) {
NSArray *selectedMessages = [viewer selectedMessages];
@try {
for (MailMessage *selectedMessage in selectedMessages) {
NSString *filePath = [NSString stringWithFormat:@"%@%@",@"/Users/patrick/Documents/",@"tmp.rtf"];
NSURL *fileUrl = [NSURL fileURLWithPath:filePath];
[selectedMessage saveIn:fileUrl as:MailSaveableFileFormatNativeFormat];
}
}
@catch (NSException *exception) {
NSLog(@"Exception:%@", exception);
}
}
}
答案 0 :(得分:0)
有完全相同的问题。似乎saveIn
未在Mail中实现。
我有这个代码的解决方法:
[message.source writeToURL:mailUrl
atomically:YES
encoding:NSUTF8StringEncoding
error:nil];
其中message
是MailMessage
的实例
这似乎在大多数情况下都能正常工作。但有时附件在保存的邮件中是空的。所以如果有人有更好的解决方案......