PDA

Visualizza la versione completa : [Delphi] Outlook, mail.SaveAs


AlbertoPicca
12-05-2004, 08:32
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 é :


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 :


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?
:ciauz:

alka
12-05-2004, 09:33
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! :ciauz:

AlbertoPicca
02-09-2004, 12:42
Fornisco alla comunità la soluzione del mio problema:
Il nome che avevo assegnato al file era troppo lungo.

E' tutto! :smack:

Loading