1 votos

¿Cómo pedir una carpeta de correo en Applescript?

Pido disculpas de antemano ya que esta será una larga pregunta. Espero que alguien con conocimientos de Applescript pueda ayudarme. Estoy transfiriendo todas mis máquinas Windows a Apple y estoy atrapado con una última cosa molesta. Dentro de Outlook tenía un macro que me preguntaba dónde guardar un correo después de enviarlo. Estoy acostumbrado a archivar proyectos en carpetas separadas y tener el correo entrante y saliente juntos allí. La mayoría de los elementos que envío, por cierto, van a la carpeta de basura. En otras palabras, mi carpeta de elementos enviados siempre está vacía.

Para fines de referencia adjunto el macro original a continuación.

Intenté hacer esto a través de reglas pero ahora entiendo que Mail no admite reglas en los elementos enviados. Luego terminé usando Automator y Applescript. He encontrado algunos ejemplos en internet que mueven correos seleccionados a una carpeta específica predeterminada. Sin embargo, eso no es lo que necesito, necesito que el script me pregunte cada vez qué carpeta usar.

Lo siguiente que no puedo encontrar es algún tipo de activador automático cuando envío un correo. Sería posible, por ejemplo, a través de una opción "cuando un correo se guarda en correos enviados". O algo similar. Lo siguiente mejor es simplemente un atajo de teclado que inicie el macro, aunque esto se acerca mucho a hacerlo manualmente moviendo simplemente el correo enviado a una carpeta específica.

De todos modos, espero que mi pregunta sea clara y que algún gurú inteligente de Applescript entre ustedes tenga una manera de lidiar con esto.

¡Gracias de antemano!

Arnoud


COPIA DE MI CÓDIGO VBA ORIGINAL USADO EN LA CONFIGURACIÓN DE OUTLOOK PARA WINDOWS

Dim objFolder As MAPIFolder

 ' Declaración de variables
 Dim objNS As NameSpace
 Dim colKeywords As New Collection
 Dim vntRecipients As Variant
 Dim bolExternalEmail As Boolean

 ' Establecer variables
 Set objNS = Application.GetNamespace("MAPI")

 ' Configurar lista de palabras clave que usas al adjuntar archivos
 colKeywords.Add "attachement"
 colKeywords.Add "Attachement"
 colKeywords.Add "attached"
 colKeywords.Add "Attached"

 ' Verificar palabras clave de adjuntos y verificar número de adjuntos
 If checkForKeywords(colKeywords, Item.Body) And (Item.Attachments.Count = 0) Then

 ' Si los adjuntos deben estar en el correo electrónico, preguntar si se desea continuar
 If MsgBox("Adjunto faltante. ¿Enviar correo electrónico de todos modos?", vbYesNo) = vbNo Then
 Cancel = True
 Exit Sub
 End If

 End If

 ' Verificar el asunto
 If Item.Subject = "" Then
 MsgBox "Por favor especifica un asunto"
 Cancel = True
 Exit Sub
 End If

 ' Solo habilitar acciones para correos electrónicos
 If Item.Class = olMail Then

 ' Obtener carpeta para guardar el correo
 Set objFolder = objNS.PickFolder

 ' Verificar si se ha especificado una carpeta
 If TypeName(objFolder) <> "Nothing" Then

 ' Si se ha especificado una carpeta, mover el correo
 Set Item.SaveSentMessageFolder = objFolder
 Else
 ' De lo contrario, no enviar el correo y volver al correo
 Cancel = True
 End If

 End If

send_message:
 ' Deshacer todo
 Set objFolder = Nothing
 Set objNS = Nothing

End Sub

1voto

Alex Puntos 1

Mientras no sé si AppleScript puede hacer lo que deseas, hay un complemento de Apple Mail llamado Mail Hub que hará lo que deseas además de agregar funcionalidad adicional. Soy un cliente satisfecho.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X