¿Puede Automator pasar varias líneas (por ejemplo, desde un script de shell) a la acción Nuevo mensaje de correo?

3

Tengo Automator ejecutando un script de shell que termina con cat "tempfile.txt" . El comando cat debe generar el contenido de tempfile.txt . El archivo tempfile.txt contiene solo los siguientes tres párrafos en cinco líneas:

  

1er párrafo Lorem

     

2do párrafo Lorem ipsum

     

3er párrafo Ut enim

He encadenado esto en Automator a la acción "Nuevo mensaje de correo". Las instrucciones para esta acción dicen que "Si se recibe texto de una acción anterior, el texto se agrega al mensaje".

Por lo tanto, el comportamiento esperado es que el cuerpo del mensaje de correo electrónico contiene esos tres párrafos. En su lugar, contiene solo el tercero, que se muestra aquí:

Acontinuaciónsemuestralaparterelevantedelflujodetrabajo.EnélpodemosverenlosResultadosdelscriptdeshellquelostrespárrafosseestánpasandoala"Acción de correo nuevo". ¿Por qué esto no coloca todo el archivo de texto de entrada en el cuerpo del mensaje?

Actualización(másinformación):sicambioenlaacción"Crear nuevo mensaje de correo de Outlook" en lugar de la acción Mail.app, los tres párrafos se pasarán con éxito al cuerpo del nuevo mensaje en Outlook. Sin embargo, se pasan sin saltos de línea.

    
pregunta ChristopherE 29.05.2017 - 02:25

1 respuesta

2

Parece que puede haber un error en Nuevo mensaje de correo acción en Automator . Si está interesado en una solución AppleScript , la salida de Ejecutar script de shell acción se convierte en la contenido del nuevo mensaje de correo utilizando AppleScript código para crear un nuevo mensaje de correo , aquí hay un ejemplo de solución.

En lugar de Nuevo mensaje de correo use una Ejecutar AppleScript , después de Ejecute Shell Script action , con el siguiente ejemplo AppleScript código :

on run {input, parameters}
    set theMessageContent to ""
    repeat with i from 1 to (count of input)
        set theMessageContent to theMessageContent & item i of input & linefeed
    end repeat
    tell application "Mail"
        activate
        set theMessage to make new outgoing message with properties {visible:true, content:theMessageContent}
    end tell
end run

Esto crea un nuevo mensaje que se parece a la siguiente imagen de ejemplo.

Sitambiénlonecesita,puedeagregarpropiedadesadicionales,comoenesteejemploAppleScriptcódigo:

onrun{input,parameters}settheMessageContentto""
    repeat with i from 1 to (count of input)
        set theMessageContent to theMessageContent & item i of input & linefeed
    end repeat
    tell application "Mail"
        activate
        set theMessage to make new outgoing message with properties {visible:true, subject:"Hello World", content:theMessageContent}
        tell theMessage
            make new to recipient at end of to recipients with properties {name:"John Doe", address:"[email protected]"}
        end tell
    end tell
end run

Obviamente, deberá cambiar el valor de las propiedades adicionales, y o agregar más propiedades que se muestran, para que se ajusten a su necesariamente. Puede consultar el Diccionario AppleScript de Mail en el Editor de secuencias de comandos para ver las propiedades adicionales aplicables.

Esto crea un nuevo mensaje que se parece a la siguiente imagen de ejemplo.

    
respondido por el user3439894 29.05.2017 - 18:08

Lea otras preguntas en las etiquetas