chili_asak 0 Posted December 26, 2018 Share Posted December 26, 2018 Hola, Hace tiempo encontrar algo por internet, pero no logo volver a verlo. Estoy intentando crearme una automatización para el mail. Cada vez que recibo un mail en concreto que coja su adjunto lo guarde en una ubicación y lo renombre. Como imaginais no logro que funcione y no se si es por el fujo de automator, o porque no se ejecutarlo en el script. Tengo creada la regla de mail, con la ejecución de un script. he leído que para ejecutar una app de automator, en el script hay que escribir : tell application “/ruta/de/aplicacion/creada/en/automator/miAutomator.app" to activate. El flujo de automator es el siguiente: -Mostrar mensaje de correo -obtener archivo adjunto -Renombrar items del finder: Añadir Fecha y hora Alguien sabría en que me estoy equivocando. Yo creo que es en el script, hace tiempo en el articulo que leí usaban el comando run, pero no se y no se nada de applescript Gracias Por adelantado Un saludo Quote Link to post Share on other sites
APB 66 Posted December 26, 2018 Share Posted December 26, 2018 (edited) El script debería funcionarte correctamente. tell application “/ruta/de/aplicacion/creada/en/automator/miAutomator.app" to activate tell application “/ruta/de/aplicacion/creada/en/automator/miAutomator.app" to run run application "/ruta/de/aplicacion/creada/en/automator/miAutomator.app" Cualquiera de las tres frases que te he puesto funciona correctamente, la diferencia está en que la primera ejecuta la aplicación en primer plano y las otras en segundo plano. Aunque no lo he probado con Mail, para que el script se ejecute debes guardarlo como aplicación. Si lo guardas como script se abrirá el editor en lugar de ejecutarse. Ni caso, Mail solo acepta scripts, no aplicaciones. Para asegurarte que el script se ejecuta puedes añadir antes de la llamada a tu aplicación de Automator la siguiente instrucción: display dialog "hola" PD: Si arrastras tu aplicación a la ventana del Editor de Script se escribe la ruta, así seguro que no hay fallos. Edited December 27, 2018 by APB 1 Quote Link to post Share on other sites
chili_asak 0 Posted December 27, 2018 Author Share Posted December 27, 2018 parece que el Script funciona bien, asi que el error esta en la aplicacion de automator que he creado. si encuentro una solucion os la publico. Si alguien tiene alguna idea sujerencia que no se corte XP Quote Link to post Share on other sites
Zenaida 3 Posted December 27, 2018 Share Posted December 27, 2018 ¡Holaaa! La verdad que hace tiempo que no uso los Mac...me quedé en el 10.4 Peero, esto sí que lo he tenido que hacer. Mi solución para, igualmente, por AppleScript, o si nos metemos más adentro, en el uso del terminal. La idea está en controlar, con el script, el correo, y si ves que tienes un adjunto, descargarlo. Una vez ahí, renombras (y al renombrar lo colocas en la carpeta que se necesita) Pasando por Automator, la única opción que se me hubiera ocurrido es generar lo que necesites (hasta donde se pudiera) y darle más potencia a través de AppleScript (Automator me pareció una idea de llevar AppleScript a una interfaz de uso sencillo, por eso no lo usé) 🧐 1 Quote Link to post Share on other sites
APB 66 Posted December 27, 2018 Share Posted December 27, 2018 (edited) Aquí tienes un script que hace lo que pides: using terms from application "Mail" on perform mail action with messages theMessages for rule theRule tell application "Finder" -- The folder to save the attachments in (must already exist) set attachmentsFolder to ((path to home folder as text) & "Documents:Attachments") as text -- Save in a sub-folder based on the name of the rule in Mail set subFolder to name of theRule as text if not (exists folder subFolder of folder attachmentsFolder) then make new folder at attachmentsFolder with properties {name:subFolder} end if end tell -- Get incoming messages that match the rule tell application "Mail" repeat with theMessage in theMessages -- Get the date the message was sent set {year:y, month:m, day:d, hours:h, minutes:min} to theMessage's date sent set timeStamp to ("" & y & "-" & my pad(m as integer) & "-" & my pad(d) & "-" & my pad(h) & "-" & my pad(min)) -- Save the attachment repeat with theAttachment in theMessage's mail attachments set originalName to name of theAttachment set savePath to attachmentsFolder & ":" & subFolder & ":" & timeStamp & " " & originalName try save theAttachment in file savePath end try end repeat end repeat end tell end perform mail action with messages end using terms from -- Adds leading zeros to date components on pad(n) return text -2 thru -1 of ("00" & n) end pad Lo he probado y modificado para que funcione, con MacOS 10.13.6, y hace lo que pides. Solo tienes que crear una carpeta donde copiar esos adjuntos y sustituir Documents:Attachments por la dirección de tu carpeta en la instrucción: "set attachmentsFolder to ((path to home folder as text) & "Documents:Attachments") as text" Para ser más claro, si creas la carpeta y al arrastrarla a la ventana del Editor aparece: /Users/chili_asak/Desktop/carpeta adjuntos debes sustituir Documents:Attachments de la instrucción del script por Desktop:carpeta adjuntos Lo he encontrado aquí: http://www.macosxtips.co.uk/index_files/automatically-save-mail-attachments-using-applescript.php OJO: Me ha dado por leer los comentarios y es posible que no funcione en los MacOS modernos. No funcionaba el original pero con las modificaciones si funciona. Edited December 28, 2018 by APB 1 Quote Link to post Share on other sites
chili_asak 0 Posted December 27, 2018 Author Share Posted December 27, 2018 Mil gracias APB, en cuanto lo pruebe os cometo que tal el resultado. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.