Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [VB6] Inviare email leggendo modelli di Outlook

    Salve ragazzi.

    Microsoft Outlook mette a disposizione dei Modelli per dare uno sfondo e un carattere colorato ad una email.
    Io ho la necessità di caricare un modello selezionato all'interno di una mail e inviarlo, il tutto tramite codice.
    So già come accedere all'oggetto MailItem di Outlook, ma non risco a dargli come origine il modello selezionato.
    In particolare il problema mi si pone con le immagini di sfondo, perchè il percorso scritto all'interno dell'html riporta il percorso relativo dell'immagine e non quello assoluto. Inoltre non è detto che la email inviata debba necessariamente contenere un'immagine presente sul pc di destinazione.

    Qualcuno di voi si è già trovato ad affrontare questo problema?


    Spero di essere stata chiara.
    Grazie a tutti

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  2. #2
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Hai provato con il metodo CreateItemFromTemplate ?
    ...and I miss you...like the deserts miss the rain...

  3. #3
    Grazie von per il suggerimento.

    Questo metodo CreateItemFromTemplate andrebbe benissimo se io riuscissi a creare il file .oft che vuole in input.
    In pratica dovrei riuscire via codice a creare un file .oft da un file .htm, ma non ci riesco.
    Suggerimenti?

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  4. #4
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Prova ad utilizzare il metodo
    codice:
    expression.SaveAs(Path, Type)
    con Type = olTemplate...dopo esserti caricata in memoria il file che vuoi utilizzare come template.
    ...and I miss you...like the deserts miss the rain...

  5. #5
    Originariamente inviato da vonkranz
    Prova ad utilizzare il metodo
    codice:
    expression.SaveAs(Path, Type)
    con Type = olTemplate...dopo esserti caricata in memoria il file che vuoi utilizzare come template.
    provo e ti faccio sapere
    grazie

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  6. #6
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Originariamente inviato da ladyBlu
    provo e ti faccio sapere
    grazie
    ... ...
    ...and I miss you...like the deserts miss the rain...

  7. #7
    Allora, ho provato questo sistema, ma non va.

    Io vorrei che l'immagine venisse in qualche modo inglobata nel modello, che poi è quello che fa Outlook; infatti installando un nuovo modello su un pc e inviando una mail con questo stesso modello ad un pc dove non è installato, questo viene visualizzato benissimo.
    Vi scrivo il codice:
    codice:
    Private Sub Command1_Click()
        Dim olkMail As outlook.MailItem
        Dim strBody As String
        Dim strModello As String
        Dim strRiga As String
        Dim strNome As String, strPerc As String
    
        strModello = "C:\Programmi\File comuni\Microsoft Shared\"
        strModello = strModello  & "Elementi decorativi\Cielo.htm"
        ' Divide il percorso in Cartella e Nome file
        DividiNomePercorsoFile strModello, strNome, strPerc
    
        ' Legge il file 
        '   scrivendone il contenuto in una variabile
        Open strModello For Input As #1
            Do While Not EOF(1)
                ' Legge i dati di una riga
                Input #1, strRiga
                'aggiunge la riga letta alla variabile
                strBody = strBody & strRiga
            Loop
        Close #1
        
        'Debug.Print strBody
        strTitolo = "Email da VB!"
        Set olkSpace = olkApp.GetNamespace("MAPI")
        ' Crea un nuovo oggetto MailItem
        Set olkMail = olkSpace.GetDefaultFolder(olFolderInbox).Items.Add
        olkMail.Subject = strTitolo
        olkMail.HTMLBody = strBody
        ' Salva la mail come modello
        olkMail.SaveAs strPerc & "Mail.oft", olTemplate
        ' Crea la mail come modello 
        '   partendo da quello appena salvato
        Set olkMail = olkApp.CreateItemFromTemplate(strPerc & "Mail.oft")
    
        olkMail.To = "pippo@pippo.it"
        ' Invia la mail
        olkMail.Send
        Set olkMail = Nothing
    
    End Sub

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  8. #8
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Prova a spostare
    codice:
     olkMail.HTMLBody = strBody
    e mettilo dopo
    codice:
    olkMail.To = "pippo@pippo.it"
    ...in pratica, scrivi il testo del messaggio dopo aver caricato il template.
    ...and I miss you...like the deserts miss the rain...

  9. #9
    E no, von... in questo modo il modello viene salvato ma senza l'immagine di sfondo
    e di conseguenza arriva al destinatario completamente bianca.
    Se invece lo metto prima, cmq nell'html della mail risulta il percorso assoluto dell'immagine.

    Non riesco proprio a capire come poter risolvere sto problema. Sento che ci sto a un passo e non vedo la soluzione

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  10. #10
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Facendo come dici tu, il modello viene salvato con il testo, come dico io, ti carichi il modello, ci scrivi il testo e poi lo spedisci...il modello in teoria non dovrebbe contenere del testo all'interno del "corpo".

    Cmq penso tu abbia provato a fare come ho detto pero' non ha funzionato.....vero ?
    ...and I miss you...like the deserts miss the rain...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.