使用附件和主题从外部应用程序打开Mail.app

Nei*_*lis 3 macos cocoa email-integration objective-c

我想打开Mail.app并指定要附加的主题和文件.我可以独立完成,但不能同时完成.

要设置主题,我可以形成一个mailto:string和NSWorkspace openURL.

要设置我可以使用的附件

[[NSWorkspace sharedWorkspace] openFile:resolvedPath withApplication:@"Mail"];
Run Code Online (Sandbox Code Playgroud)

我不知道相当于Mac的Mac的MFMailComposeViewController.我有什么选择?

den*_*342 10

NSString* subject = @"mail subject";
NSString* body = @"mail body";
NSString* to = @"recipient@example.org";

NSString *encodedSubject = [NSString stringWithFormat:@"SUBJECT=%@", [subject stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSString *encodedBody = [NSString stringWithFormat:@"BODY=%@", [body stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSString *encodedTo = [to stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *encodedURLString = [NSString stringWithFormat:@"mailto:%@?%@&%@", encodedTo, encodedSubject, encodedBody];
NSURL *mailtoURL = [NSURL URLWithString:encodedURLString];

[[NSWorkspace sharedWorkspace] openURL:mailtoURL];
Run Code Online (Sandbox Code Playgroud)