Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Delphi] Outlook, mail.SaveAs

    ciao a tutti!

    La mia intenzione sarebbe quella di salvare una mail generata con Delphi in un particolare percorso del computer.

    La procedura che permette il salvataggio é :
    codice:
    object.SaveAs(Path, [Type])
    
    object   Required. An expression that returns an Outlook object that 
    is listed in the "Applies To" list.
    
    Path   Required String. The path on which to save the item.
    
    Type   Optional Variant. 
    The file type to save. Can be one of the following 
    OlSaveAsType constants: olDoc(4), olHTML(5), olMSG(3), olRTF(1),
     olTemplate(2), olTXT(0), olVCal(7), or olVCard(6).
    La mail viene inoltrata perfettamente ad Outlook.

    Ho pensato di salvare la mail subito dopo averla inviata con il metodo Send, quindi :
    codice:
     
           MailItem.Send
           MailItem.SaveAs(Path, olMsg)
    L'errore : L'elemento é stato spostato o eliminato
    A questo punto ho pensato che il metodo SaveAs andasse prima del metodo Send, e cos' ho fatto ma l'errore che appare é:Impossibile completare l'operazione, uno o più parametri non validi

    Mi sono ridotto a pensare anche ad una soluzione drastica, ovvero dopo aver inviato la mail ad Outlook, andarla a ripescare con il metodo GetLast all'interno della cartella olFolderOutbox, ma se devo essere sincero non mi piace proprio come soluzione.

    Voi cosa ne dite?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Premetto che sono abituato ad evitare il più possibile interazioni con Office se non strettamente necessarie, dato che la suite deve essere presente affinchè il programma funzioni.

    Nel caso specifico dell'invio di una email, meglio usare i componenti Indy, a meno che la tua applicazione non sia espressamente nata per interoperare con Outlook.

    Tuttavia, io mi concentrerei sull'uso di SaveAs che, logicamente, dovrebbe essere richiamato prima di Send.

    Dall'errore che ti viene restituito, si direbbe che uno dei parametri passati a SaveAs non sia formalmente corretto, magari il percorso, perciò la mia paura è che questa condizione sussista anche nel caso in cui tu sia in grado di recuperare un riferimento al messaggio dopo averlo inviato.

    Cerca istruzioni per verificare come deve essere specificato il percorso per SaveAs; quando sei riuscito a capirne perfettamente il funzionamento, allora magari puoi proseguire cercando nuovi metodi in grado di perfezionare il tuo codice, ad esempio salvando il messaggio solo se l'invio avviene correttamente e altro ancora.

    Nonostante il mio "buio" sulla problematica, spero di averti dato indicazioni utili.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Fornisco alla comunità la soluzione del mio problema:
    Il nome che avevo assegnato al file era troppo lungo.

    E' tutto!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.