Si desea obtener el número de mensajes en dicha bandeja de entrada, la forma corta del código es
tell application "Mail" to ¬
get the count of messages of mailbox "INBOX" of account "Work"
Si desea que el global de la bandeja de entrada, entonces usted puede utilizar get the count of messages of inbox
lugar. Si usted sólo desea que los mensajes no leídos, entonces usted puede utilizar get the unread count of mailbox "INBOX" of account "Work"
.
Y si quieres una información más completa de comandos, en este hará el truco:
#!/usr/bin/osascript
property defaultAccount : "Work"
property defaultMailbox : "INBOX"
on run args
set justUnread to false
set theAccount to missing value
set theMailbox to missing value
if defaultAccount = missing value then set defaultAccount to "-g"
if defaultMailbox = missing value then set defaultMailbox to "INBOX"
set theCount to the count of args
if theCount > 0 then
if item 1 of args = "-u" then
set justUnread to true
set theCount to theCount - 1
set args to the rest of args
else if item 1 of args = "-ug" or item 1 of args = "-gu" then
set justUnread to true
set item 1 of args to "-g"
else if theCount > 1 and ¬
item 1 of args = "-g" and item 2 of args = "-u" then
set justUnread to true
set theCount to theCount - 1
set args to the rest of args
set item 1 of args to "-g"
end if
end if
tell application "Mail"
if theCount = 0 then
set theAccount to defaultAccount
set theMailbox to defaultMailbox
else if theCount = 1 then
set theAccount to item 1 of args
set theMailbox to defaultMailbox
else if theCount = 2 then
set theAccount to item 1 of args
set theMailbox to item 2 of args
else
error character id 10 ¬
& "Usage: inbox-count [-u] [[account] mailbox]" & character id 10 ¬
& " inbox-count [-u] -g [mailbox]"
end if
set mailboxValue to missing value
if theAccount = "-g" then
if theMailbox = "INBOX" then
set mailboxValue to inbox
else
set mailboxValue to mailbox theMailbox
end if
else
set mailboxValue to mailbox theMailbox of account theAccount
end if
if justUnread then
return the unread count of mailboxValue
else
return the count of messages of mailboxValue
end if
end tell
end run
La mayoría de que es la línea de comandos de análisis, debido a que es un dolor para obtener el derecho en AppleScript. Pero el resultado de todo esto es que con ese script en tu camino como inbox-count
, luego los comandos siguientes trabajos:
-
inbox-count
para comprobar el número de mensajes en el buzón de correo predeterminado/cuenta de par.
-
inbox-count -g
para comprobar el número de mensajes en el mundial (combinado) de la bandeja de entrada.
-
inbox-count Play
para comprobar el número de mensajes en el buzón de correo predeterminado para la cuenta de "Jugar".
-
inbox-count -g Important
para comprobar el número de mensajes en el buzón global "Importante".
-
inbox-count Play Facebook
para comprobar el número de mensajes en el buzón de "Facebook" de la cuenta de "Jugar".
También puede anteponer un -u
a cualquiera de estos comandos (por ejemplo, inbox-count -u
, inbox-count -ug
, inbox-count -u Play Facebook
) para obtener el número de mensajes no leídos. Para cambiar el valor predeterminado de la cuenta y buzón de correo, cambiar las líneas property defaultAccount : "Work"
y property defaultMailbox : "INBOX"
. Si defaultAccount
es missing value
o "-g"
, entonces el valor predeterminado será no utilizar una cuenta; si defaultMailbox
es missing value
o "INBOX"
, entonces el valor predeterminado será utilizar un buzón de correo con nombre "INBOX"
o, si la cuenta es de "-g"
, para utilizar el global de la bandeja de entrada.