Come salvare i messaggi inviati nella stessa cartella del messaggio a cui è stata risposto?

3

Una delle mie funzionalità preferite quando ho usato Outlook era l'opzione per salvare le e-mail inviate nella stessa cartella del messaggio a cui si rispondeva. Ad esempio, se avessi spostato un messaggio nella cartella A e stavo rispondendo, la mia risposta è stata salvata in A, non inviata. (Se ho risposto a un messaggio nella mia Posta in arrivo, la mia risposta è stata inviata alla cartella Posta inviata predefinita.)

Questo mi ha reso davvero facile vedere un'intera discussione quando ci sono tornato più tardi. Questo flusso di lavoro è un enorme risparmio di tempo per me ed è l'unica cosa che mi manca da Outlook. In questo momento, sposto manualmente i messaggi inviati alla cartella con messaggi correlati, il che è noioso. C'è un modo per ricreare questa funzionalità da Outlook con Mac Mail? (Sto usando Mac Mail 6.2 su OSX 10.8.2).

    
posta DaveBurns 22.01.2013 - 04:43
fonte

1 risposta

2

La posta può essere estesa per imitare abbastanza da vicino la funzione che hai citato da Outlook.

OS X fornisce una funzionalità chiamata servizi che può essere utilizzata per estendere la funzionalità di un'applicazione (vedere link per ulteriori informazioni).

Userò Automator e AppleScript per creare un servizio che trasferisce i messaggi inviati alla cartella del messaggio a cui è stata data risposta, e quindi assegna la scorciatoia da tastiera standard di risposta ( R ) al servizio:

  • Chiudi la posta.

  • Apri Automator nella cartella Applications e scegli Servizio:

  • SelezionaUtilitysottoLibreriaetrascinaEseguiAppleScriptnelriquadrovuotoadestra:

  • Configura il servizio per non ricevere input in Mail:

  • Sostituisciilcontenutodell'azioneEseguiAppleScriptcon:

    onrun{input,parameters}tellapplication"Mail"
        try
            (* Get selected messages or exit *)
            set messageSelection to selection
            set selectedMessage to item 1 of messageSelection
            set replyMessage to reply selectedMessage opening window yes
            set messageID to message id of selectedMessage
            set currentMailbox to mailbox of selectedMessage
        on error
            return
        end try
        repeat
            (* Wait until reply message is sent *)
            delay 2
            try
                if replyMessage is not visible then exit repeat
            on error
                exit repeat
            end try
        end repeat
        synchronize with (account of currentMailbox)
        (* Wait while reply message is being sent *)
        delay 10
        (* Loop over all sent messages *)
        set sentMailbox to sent mailbox of application "Mail"
        set allSentMessages to messages of sentMailbox
        repeat with sentMessage in allSentMessages
            if source of sentMessage contains messageID then
                set mailbox of sentMessage to currentMailbox
                return
            end if
        end repeat
    end tell
    
    return input
    end run
    
    • Salva con un nome descrittivo come Rispondi e sposta il messaggio inviato alla cartella corrente . Il servizio verrà salvato in ~/Library/Services/ . Ecco come si presenta il servizio:

  • ApriPreferenzediSistema,selezionailpannellodellepreferenzeTastieraepoilaschedaTastidisceltarapida.

  • SelezionaScorciatoiedell'applicazione,premiilpulsante+ecambiaperl'applicazioneMaililcollegamentoassegnatoallavocedimenuRispondiaR.LocambiamoperevitareconflittiquandosiassegnaRalserviziosottostante:

  • Seleziona Servizi , scorri fino al servizio che hai precedentemente aggiunto e imposta la scorciatoia da tastiera su R :

  • Apriposta.NotacheilcollegamentodiReplynonèpiùR,maR:

  • Notate anche che c'è un nuovo servizio, accessibile con R :

  • Ora seleziona un messaggio in una cartella, premi R , scrivi la tua risposta e invialo, in pochi secondi dovresti vedere il messaggio inviato apparire nella cartella .

Lo script presenta alcune limitazioni ed effetti collaterali:

  • Il servizio non può distinguere i messaggi annullati e inviati. Quindi, se premi R e poi cambi idea e chiudi la finestra, il servizio continuerà a essere eseguito e controllerà la tua cartella di posta inviata per gli ID corrispondenti.

  • AppleScript non offre alcun mezzo per ottenere un elenco di risposte a un messaggio. La mia soluzione alternativa è ottenere l'ID messaggio del messaggio a cui viene risposto e cercarlo nei messaggi inviati.

  • Il messaggio inviato non può essere spostato durante il download. AppleScript non restituisce alcun messaggio di errore se questo è il caso, quindi ho aggiunto un ritardo di 10 secondi. Un ritardo di 5 secondi non era affidabile nei miei test, adattarlo alle tue esigenze se necessario.

  • Mentre il servizio cerca nella cartella Inviati, Mail rallenta.

risposta data 24.01.2013 - 11:23
fonte

Leggi altre domande sui tag