Steve how did you get it working with the plain text. Below is the code I think that is relevant in the SBS program.
- (IBAction)sendEmailMessage:(id)sender { > /* create a Scripting Bridge object for talking to the Mail application */ > MailApplication *mail = [SBApplication applicationWithBundleIdentifier: > @"com.apple.Mail"]; > > /* set ourself as the delegate to receive any errors */ > mail.delegate = self; > /* create a new outgoing message object */ > MailOutgoingMessage *emailMessage = [[[mail classForScriptingClass:@"outgoing > message"] alloc] initWithProperties: > [NSDictionary > dictionaryWithObjectsAndKeys: > [self.subjectField > stringValue], @"subject", > [[self.messageContent > textStorage] string], @"content", > nil]]; > /* add the object to the mail app */ > [[mail outgoingMessages] addObject: emailMessage]; > /* set the sender, show the message */ > emailMessage.sender = [self.fromField stringValue]; > emailMessage.visible = YES; Though it is not clear how this would translates over into macruby. I have tried ever variation of MailOutgoingMessage.new and addObject. On Tue, Oct 23, 2012 at 8:45 AM, Steve Clarke <st...@sclarkes.me.uk> wrote: > Hi, > > I got something similar working for a plain text email but there are > additional requirements for HTML emails (which I needed), and I couldn't > persuade SB to accept html content. I should have made that clear in my > previous note. If anyone has an example for HTML email with SB it would be > great to see it. > > Just taken a closer look at the scripting dictionary for mail and it looks > like the "html content" property isn't documented - so who knows how I > found it in the first place! I just checked it out and it still works but > obviously can't be relied on. > > Apologies for the red herring. It looks as if there is no supported way > to send html email using ScriptingBridge. > > Steve > > On 23 Oct 2012, at 15:52, Mark Rada <mr...@marketcircle.com> wrote: > > Hi Cliff, > > Did you manage to find the SBSendEmail sample code: > > > https://developer.apple.com/library/mac/#samplecode/SBSendEmail/Introduction/Intro.html > > The sample they have looks a bit different from what you have. I haven't > tried it out myself, but their documentation seems quite thorough and was > updated only a year ago. > > > > > > On 2012-10-23, at 5:28 AM, Steve Clarke <st...@sclarkes.me.uk> wrote: > > Just had a closer look at what I did with sending mail and I think my > earlier reply was probably wrong, or at least not helpful. I think the > difficulty arises because there are some things that ScriptingBridge is > unable to do. I could not find a way to create an outgoing message with > ScriptingBridge and I had to resort to running a trivial applescript (using > NSAppleScript executeAndReturnError) to do the job for me. If anyone > knows a better way I'd be delighted to hear about it! > > I created the applescript from a template that I modified in my code > before I executed it. I guess Cliff could adopt a similar approach to copy > subject, content etc from his draft. > > Here's the template. The %HTML% and %SUBJECT% are placeholders that get > replaced by the actual values before execution. > > ========================= > tell application "Mail" > activate > set htmlMsg to "%HTML%" > set subjecta to "%SUBJECT%" > set theMsg to make new outgoing message with properties ¬ > {subject:subjecta, html content:htmlMsg & return & return, content:""} > end tell > ========================= > > Steve > > On 23 Oct 2012, at 07:06, Cliff Rosson <cliff.ros...@gmail.com> wrote: > > So playing around a little with this I was able to browse and find > messages via macruby. On the other hand I cannot figure out how to send a > drafted email. Here is what I have so far. > > My drafts folder has 1 message in it ready to be sent. > > mail = SBApplication.applicationWithBundleIdentifier("com.apple.mail") >> my_account = mail.accounts.select { |account| account.name == >> "MyAccountName" }.first >> drafts_folder = my_account.mailboxes.select { |mailbox| mailbox.name == >> "Drafts" }.first >> draft = drafts_folder.messages.first > > > I need to use the send method somehow. I think I need to make a new > MailOutgoingMessage but I would like to make this message based on my > already existing draft message. > > Any know how this is done? > > I had hoped it would have been as simple as draft.send. :) > > > On Sat, Oct 20, 2012 at 2:14 PM, Mark Rada <mr...@marketcircle.com> wrote: > >> Hi Rob, >> >> I think Colin answered this fairly well. Personally, I prefer to use GCD >> when available because I find the API simpler and GCD stuff works with or >> without run loops. >> >> -- >> Mark >> >> >> On 2012-10-20, at 2:40 PM, Robert Carl Rice <rice.au...@pobox.com> wrote: >> >> > Hi Mark, >> > >> > I use NSTimer a lot in my apps. What is the advantage of using GCD API? >> > >> > There is an excellent tutorial on the web for specifically for setting >> up ScriptingBridge for Apple Mail but I forget where I saw it. On warning; >> if you set up ScriptingBridge for Apple Mail don't try to take a snapshot >> in Xcode 4. Xcode will follow the link to mail and include all of your >> mailboxes in the snapshot. I don't know if there is a way to stop this >> behavior. >> > >> > Bob Rice >> > >> > On Oct 19, 2012, at 6:50 PM, Mark Rada <mr...@marketcircle.com> wrote: >> > >> >> Busy looping for an hour would be really bad. I assume you would have >> a sleep in there, but then you're still polling. >> >> >> >> If you are using MacRuby, looking at the GCD API would be a good idea. >> You could do something like this: >> >> >> >> def schedule_email q >> >> q.after(3600) do >> >> # Send email >> >> schedule_email q >> >> end >> >> end >> >> >> >> schedule_email Dispatch::Queue.new("com.rosson.delayed.email") >> >> >> >> NSRunLoop.currentRunLoop.run >> >> >> >> >> >> >> >> As for actually sending emails, if you want to have things go through >> Apple Mail you could use the ScriptingBridge framework which has a few >> tutorials online (but for iTunes): >> >> >> >> >> http://arstechnica.com/apple/2011/09/tutorial-os-x-automation-with-macruby-and-the-scripting-bridge/ >> >> >> >> AXElements is another option that I am biased in favour of; but it may >> not be passive enough for your requirements. >> >> >> >> HTH, >> >> Mark >> >> >> >> >> >> On 2012-10-19, at 6:12 PM, Cliff Rosson <cliff.ros...@gmail.com> >> wrote: >> >> >> >>> Hi Everyone, >> >>> >> >>> I am fairly new to macruby and am having trouble finding some basic >> documentation to help me out. I would like to write a simple app that sends >> a delayed email based on Time from mac mail. >> >>> >> >>> I am thinking of something like this, >> >>> >> >>> time = Time.now + 3600 >> >>> while true >> >>> case time >> >>> when Time.now >> >>> #Send email >> >>> end >> >>> end >> >>> >> >>> Being able to respond to certain emails or send an email from a draft >> would be a huge benefit. Can anyone point me in the write direction to >> accomplish this? I am decently proficient in ruby but don't know where to >> start with MacRuby. >> >>> >> >>> Thanks everyone >> >>> >> >>> _______________________________________________ >> >>> MacRuby-devel mailing list >> >>> MacRuby-devel@lists.macosforge.org >> >>> http://lists.macosforge.org/mailman/listinfo/macruby-devel >> >> >> >> _______________________________________________ >> >> MacRuby-devel mailing list >> >> MacRuby-devel@lists.macosforge.org >> >> http://lists.macosforge.org/mailman/listinfo/macruby-devel >> >> >> > >> > _______________________________________________ >> > MacRuby-devel mailing list >> > MacRuby-devel@lists.macosforge.org >> > http://lists.macosforge.org/mailman/listinfo/macruby-devel >> >> _______________________________________________ >> MacRuby-devel mailing list >> MacRuby-devel@lists.macosforge.org >> http://lists.macosforge.org/mailman/listinfo/macruby-devel >> > > > > -- > http://about.me/cliffrosson > vizualize.me/cliffrosson > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo/macruby-devel > > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo/macruby-devel > > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo/macruby-devel > > > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo/macruby-devel > > -- http://about.me/cliffrosson vizualize.me/cliffrosson
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo/macruby-devel