0

私はココアに慣れていないので、このコードをはっきりと理解できませんでした。誰でもこのコードを説明してもらえますか? 前もって感謝します

NSString *emailString = [NSString stringWithFormat:@"\
                     tell application \"Mail\"\n\
                     set newMessage to make new outgoing message with properties {subject:\"%@\", content:\"%@\" & return} \n\
                     tell newMessage\n\
                     set visible to false\n\
                     set sender to \"%@\"\n\
                     make new to recipient at end of to recipients with properties {name:\"%@\", address:\"%@\"}\n\
                     tell content\n\
                     ",subject, bodyText, @"McAlarm alert", @"McAlarm User", toAddress ];
4

2 に答える 2

1

これは、nsstring で記述された appleScript であり、後で実行されて、メッセージ、本文などを含む新しいメールが作成されます。

メールを送信したい場合は、AS (アップル スクリプト) だけでなく、別の方法で送信することもできます。

数年前、自動化タスクを達成するための良い方法と考えられていました。現在、Apple でさえ、applescript を使用するアプリケーションの受け入れを拒否しています。

そのため、サンドボックス化のため、cocoa アプリケーションでは決して AppleScript を使用しないでください。

編集:

- (void)sendEmailWithMail:(NSString *) senderAddress Address:(NSString *) toAddress Subject:(NSString *) subject Body:(NSString *) bodyText {
    NSString *mailtoAddress = [[NSString stringWithFormat:@"mailto:%@?Subject=%@&body=%@",toAddress,subject,bodyText] stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
    [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:mailtoAddress]];
}

このリンクを読む

于 2013-01-17T08:16:08.867 に答える
1

SBSendMail は cocoa でメールを送信する最良の方法です

SB送信メール

于 2013-01-17T08:30:34.093 に答える