Automator può passare più righe (ad esempio da uno script di shell) all'azione Nuovo messaggio di posta?

3

Ho Automator che esegue uno script di shell che termina con cat "tempfile.txt" . Il comando cat dovrebbe restituire il contenuto di tempfile.txt . Il file tempfile.txt contiene solo i seguenti tre paragrafi su cinque righe:

1st paragraph Lorem

2nd paragraph Lorem ipsum

3rd paragraph Ut enim

L'ho incatenato in Automator all'azione "Nuovo messaggio di posta". Le istruzioni per questa azione dicono che "Se il testo viene ricevuto da un'azione precedente, il testo viene aggiunto al messaggio."

Il comportamento previsto è quindi che il corpo del messaggio di posta elettronica contiene quei tre paragrafi. Invece, contiene solo il terzo-mostrato qui:

Diseguitoèriportatalaparterilevantedelflussodilavoro.Inessopossiamovedereneirisultatidelloscriptdellashellchetuttietreiparagrafivengonopassatialla"Nuova azione posta". Perché non inserisce tutto il file di testo di input nel corpo del messaggio?

Aggiornamento(ulterioriinformazioni):secambiol'azione"Crea nuovo messaggio di Outlook Mail" al posto dell'azione Mail.app, tutti e tre i paragrafi sono passati con successo al corpo del nuovo messaggio in Outlook. Tuttavia, vengono passati senza interruzioni di riga.

    
posta ChristopherE 29.05.2017 - 02:25
fonte

1 risposta

2

Sembra che possa esserci un bug in Nuovo messaggio di posta azione in Automator . Se sei interessato a una soluzione alternativa AppleScript , in cui l' output dell'azione Esegui script shell è formata contenuto del nuovo messaggio di posta utilizzando il codice AppleScript per creare un nuovo messaggio di posta , ecco un esempio di soluzione alternativa.

Al posto del Nuovo messaggio di posta azione usa un Esegui AppleScript azione , dopo Esegui Shell Script azione , con il seguente esempio AppleScript codice :

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

Questo crea un nuovo messaggio simile alla seguente immagine di esempio.

Senehaibisogno,puoiaggiungereulterioriproprietà,comeinquestoesempioAppleScriptcodice:

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

Ovviamente, dovrai modificare il valore delle proprietà aggiuntive , o aggiungere altre proprietà poi mostrate, per adattarle al tuo esigenze. Puoi cercare nel dizionario AppleScript di Mail in Script Editor per ulteriori proprietà applicabili

Questo crea un nuovo messaggio simile alla seguente immagine di esempio.

    
risposta data 29.05.2017 - 18:08
fonte

Leggi altre domande sui tag