告诉Mail.app使用MacRuby检查新邮件

时间:2012-01-24 06:14:59

标签: ruby applescript macruby

我想使用MacRuby告诉Mail.app检查新邮件。但在使用SBApplication获取应用程序引用后,我无法弄清楚如何解决这个问题。

我有以下简单的脚本:

#!/usr/local/bin/macruby
framework 'ScriptingBridge'

mail = SBApplication.applicationWithBundleIdentifier("com.apple.mail")
# mail.check_for_new_mail?

基本上我想在MacRuby中执行以下AppleScript:

tell application "Mail"
    check for new mail
end tell

是的,我可以使用AppleScript。但我更喜欢Ruby。

1 个答案:

答案 0 :(得分:3)

#!/usr/local/bin/macruby
framework 'ScriptingBridge'

mail = SBApplication.applicationWithBundleIdentifier("com.apple.mail")
mail.accounts.each {|account| mail.checkForNewMailFor(account) }

提示:使用puts (mail.methods(true,true) - Object.new.methods)返回对象和祖先的可用cocoa方法列表