2012-02-06 10 views
2

Mail.appで作成した下書きを送信しようとしています。下書き(Mail.app)から添付ファイルを送信できません

ドラフトには送信方法がないため、ドラフトのすべてのコンテンツを取得して、新しいメールを作成する必要があります。それは大丈夫ですが、添付ファイルが通過していません。私はこれを使用しています

の発信は、私が作成していますし、メッセージは私が読んでいるからドラフトでのメッセージである
outgoing.content = message.content; 

私は、メッセージの添付ファイルをループし、それらを手動で追加してみましたが、私はいつもこの取得:

*** -[SBElementArray addObject:]: can't add an object that already exists. 

これは私がそれらを介してループしています方法です:

for (int i=0; i<[message.content.attachments count]; i++) { 
      MailAttachment *anAttachment = [message.content.attachments objectAtIndex:i]; 
      if (![outgoing.content.attachments containsObject:anAttachment]) { 
       NSLog(@"File Path: %@", anAttachment.fileName); 
       MailAttachment *newAttachment = anAttachment; 
       [outgoing.content.attachments addObject:newAttachment]; 
      } 
} 

それは価値があるはずですがファイルパスNSLogはいつでも(null)として出てくることに注意してください。

ここで助けていただければ幸いです。

+0

私は 'Mail.app' APIには慣れていませんが、ドラフトを送信する仕組みがないので、似たようなメッセージを再構築して送信するのは面倒です。ドラフトを送る仕組みがないのは確かですか? – sarnold

+0

はい。 a - (void)sendメソッドはMailOutgoingMessage *でのみ宣言されています。これは私が作成したものです。 - (void)send;を呼び出すと、認識できないセレクタが表示されるため、草案をMailOutgoingMessage *としてキャストできません。 – MegaEduX

答えて

0

私の研究から、Mail.appのAppleScript/ScriptingBridge APIは、メッセージの読み取りとその内容の取得に関してかなり壊れています。

関連する問題