ここで私がやろうとしていることは次のとおりです。あなたがメールで新しい空のメールメッセージを作成し、本文コピーなどのデータを入力すると仮定しましょう (私の場合、メッセージはスクリプトブリッジを介して作成されました) safari の「このページのメール コンテンツ」を使用する...私のアプリケーションのこのプロセスの主な目的です。)
私のアプリケーションから、そのメッセージを選択して、次のように割り当てます。
MailOutgoingMessage *myMessage;
プログラムで受信者を追加できるようにします。これを行ういくつかの方法を試してみましたが、これは論理的であると思われましたが、これまでのところ適切な組み合わせが見つかりませんでした。また、ヘッダー ファイルもあまり明確ではないようです (スクリプト ブリッジは初めてです)。
私の最初の考えはこれを試すことでした:
mailMessage = [[mail outgoingMessages] lastObject];
作成された最後の送信メッセージを取得する必要があります。受信者をmailMessageに追加できるという点でうまくいくようです(受信者を間違ったメッセージに追加するなど、複数の送信メッセージが存在するときに予期しない結果を受け取ったことが何度かありました)が、件名をログに記録しようとしていますメッセージの:
NSLog(@"Subject = %@",[mailMessage subject]);
メッセージの件名フィールドに明確に表示できる件名がある場合でも、常に NULL を返します。他のパラメータについても NULL が返されます。
メッセージ プロパティの NULL を受け取る (または予期しない結果を受け取る) のは、mailMessage を既存の送信メッセージに向けようとした場合のみであるため、上記の mailMessage への割り当てに問題があるに違いないと考えています。スクリプト ブリッジでメール メッセージを作成すると、すべてのプロパティを正しく取得できます。
上記の mailMessage の割り当てを使用して、パラメーターに NULL を取得する理由を教えてくれるほど、メール スクリプトの階層を理解している人はいますか? 最も簡単な方法は、受信者を追加して後で呼び出すことができるように、メッセージを取得することです。
[myMessage send];
方法?どんな洞察も役に立ちます。私は 1 週間かけて mail.h ヘッダー ファイルを調べましたが、この時点で他に何を試せばよいか文字通り途方に暮れています。