Como uno de los comentaristas aludidos, "obtener el primer mensaje de la bandeja de entrada" probablemente no devolverá lo que esperas.
Al recuperar mensajes usando AppleScript, Mail ordena sus cuentas de buzón alfabéticamente . Dentro de la bandeja de entrada de cada cuenta, los mensajes se ordenan los más nuevos primero. Lo que seleccionó en Mail no cambia el orden en el que se devuelven a AppleScript.
Entonces, si tiene las siguientes cuentas y mensajes de la bandeja de entrada que aparecen en Correo en este orden:
- Mi iCloud
- Mensaje con fecha 1/5/16
- Mensaje del 10/01/16
- Mi Gmail
- Mensaje del 10/01/16
- Mensaje con fecha 1/5/16
"obtener el primer mensaje de la bandeja de entrada" devolverá el Mensaje con fecha 1/5/16 de la cuenta de "Mi Gmail" (G aparece antes de i, 1/5/16 aparece antes del 10/01/16).
Supongo que tienes más de una cuenta en Mail.
-
Nombre el buzón específico. Esto siempre configurará el Mensaje al mensaje más nuevo en "Mi Gmail". (El nombre de la cuenta es el mismo que se ve en Correo en la lista debajo de la Bandeja de entrada).
set theMessage to first message in mailbox "INBOX" of account "My Gmail"
Sin embargo, este es un enfoque inusual, ya que el correo se mueve, por lo que el primer mensaje en su buzón podría convertirse en su segundo mensaje inesperadamente.
Aquí hay un par de formas confiables para extraer datos de mensajes:
-
Use mensajes seleccionados (mensajes que seleccionó haciendo clic en ellos en Correo):
tell application "Mail"
set theMessages to selection
-- This block extracts the topics from the messages
repeat with theMessage in theMessages
set theMessageText to content of theMessage
try
-- Set topic to the string starting just after the hash
set topic to rich text ((offset of "#" in theMessageText) + 1) thru end of theMessageText
-- Truncate the topic at the first space
set topic to rich text 1 thru ((offset of " " in topic) - 1) of topic
on error
-- No topic found in message
set topic to ""
end try
log topic
end repeat
end tell
-
Reglas de correo (ejecute una secuencia de comandos en mensajes que coincidan con ciertos criterios). En Correo, abre Preferencias > Reglas. Cree una nueva regla con "Ejecutar AppleScript" como la acción. Seleccione "Abrir en Finder" en el menú que le permite seleccionar qué script ejecutar. Abra el Editor de secuencias de comandos y guarde el código a continuación como una secuencia de comandos en la carpeta Correo abierto. De vuelta en Mail, seleccione su script guardado como el script para ejecutar:
using terms from application "Mail"
on perform mail action with messages theMessages for rule thisRule
-- This block extracts the topics from the messages
repeat with theMessage in theMessages
set theMessageText to content of theMessage
try
-- Set topic to the string starting just after the hash
set topic to rich text ((offset of "#" in theMessageText) + 1) thru end of theMessageText
-- Truncate the topic at the first space
set topic to rich text 1 thru ((offset of " " in topic) - 1) of topic
on error
-- No topic found in message
set topic to ""
end try
log topic
end repeat
end perform mail action with messages
end using terms from