Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    263

    Invio email con testo prelevato da DB

    Ciao a tutti.
    Devo inviare un'email in automatico dove il textbody è un elenco di campi prelevati da un DB access.
    Il codice che utilizzo normalmente è il seguente, ma è la prima volta che affronto un riempimento di una email con del testo formattato proveniente da un db:

    dim email_utente
    Set email_utente=server.CreateObject("CDO.Message")
    email_utente.From = mittente
    email_utente.To = email
    email_utente.Subject = "Confirmation request for order "& ordine
    email_utente.TextBody = "Dear " & nome & " you submitted an order." & Qui vanno inseriti i contenuti dei campi del DB & vbCrLf
    email_utente.Send()
    Set email_utente = nothing

    Qualcuno può suggerirmi come fare ?

    Grazie
    Marco

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    263
    Ho il dubbio di non essere stato chiaro abbastanza.
    Devo inviare in automatico ad un utente, per una sua conferma, una email che deve contenere un elenco di prodotti che ha appena ordinato.
    Questo elenco è contenuto in una tabella di un db access.
    Mi verrebbe quasi da scrivere:

    dim email_utente
    Set email_utente=server.CreateObject("CDO.Message")
    email_utente.From = mittente
    email_utente.To = email
    email_utente.Subject = "Confirmation request for order "& ordine
    email_utente.TextBody = "Dear " & nome & " you submitted an order." & vbCrLf &
    do while not.eof
    qui leggo i campi del db
    RecSet.movenext
    wend
    & vbCrLf
    email_utente.Send()
    Set email_utente = nothing

    ma ritengo non sia corretto....

    Suggerimenti ?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    263
    Please, nessuno può aiutarmi ?
    Sono ancora impastato sul problema...

    Marco

  4. #4
    Io non sono un esperto ma ho fatto così.
    Una volta dichiarate le variabili ed avergli assegnato ad ognuno un valore del recordset crei l'email:

    codice:
    'Crea l'oggetto email 
    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields
    Flds("http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion") = True
    
    dim mittente, destinatario, oggetto, messaggio
    mittente = stremail
    destinatario = "xxxxxxxx@xxxxxxxxx.xx" ' <-----qua puoi inserire l'email prelevata dal database
    oggetto = "Richiesta preventivo dal sito."
    messaggio = "Richiesta del preventivo di " & strnome & " " & strcognome & VbCrLf &_ 
    "Indirizzo: " & strindirizzo & " " & strcitta & VbCrLf &_  
    "Telefono: " & strtelefono & " - fax: " & strfax & " - cellulare: " & strcellulare & VbCrLf &_ 
    "Email : " & stremail & VbCrLf &_ 
    "-----------------------------" & VbCrLf &_ 
    "---- Dati per preventivo ----" & VbCrLf &_ 
    "-----------------------------" & VbCrLf &_ 
    "Evento: " & strtipoevento & " " & straltroevento & VbCrLf &_ 
    "Data: " & strperiodo & VbCrLf &_ 
    "Numero di invitati: " & strpersone & " di cui " & strbambini & " bambini." & VbCrLf &_ 
    "Servizio " & strservizio & " con allestimento " & strallestimento & " da realizzare nella seguente location: " & strlocation & "." & VbCrLf &_ 
    "-----------------------------" & VbCrLf &_ 
    "---------- Menu ------------" & VbCrLf &_ 
    "-----------------------------" & VbCrLf &_ 
    "Base menù: " & strmenu & VbCrLf &_ 
    "Aperitivi: " & straperitivi & VbCrLf &_ 
    "Antipasti: " & strn_antipasti & " " & strantipasti & VbCrLf &_ 
    "Primi piatti: " & strn_primipiatti & VbCrLf &_ 
    strintermezzo & VbCrLf &_ 
    "Secondi piatti: " & strn_secondipiatti & VbCrLf &_ 
    strfrutta & VbCrLf &_ 
    "--------------------------" & VbCrLf &_ 
    "------ Altri servizi -------" & VbCrLf &_ 
    "--------------------------" & VbCrLf &_ 
    VbCrLf &_
    "Questi i suoi ulteriori commenti: " & VbCrLf &_
    strcommento & VbCrLf &_
    VbCrLf &_
    
    "Desidera essere contattato in futuro " & strincontro
    
    
    With iMsg
    
    Set .Configuration = iConf
    
    .From = mittente
    .To = destinatario
    .Subject = oggetto
    
    .TextBody = messaggio
    .Send() 
    
    end with
    
    set Flds = Nothing
    set iConf = Nothing
    set iMsg = Nothing
    %>
    Spero ti sia stato utile

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    263
    Grazie Romboexp, ma il problema per me è leggermente diverso.
    Tu hai inserito i dati di un record, per me invece i record sono tanti quanti i prodotti ordinati, quindi devo agire con un "do while not eof".
    Il problema per me è dove e come piazzare questo do while.

  6. #6
    io lo inserirei all'interno della variabile messaggio... è da provare non sò ma io proverei così.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    263
    Con un po' di ritardo (in quanto ci credevo talmente poco che il problema l'avevo accodato) ti confermo che la tua idea funziona.
    Prima di entrare nel corpo della email eseguo un while do not eof e carico la variabile prodotti nel seguente modo:

    While Not RecSet1.Eof
    prodotti = prodotti & vbCrLf & "Ref. " & RecSet1("prodotto") & "(Quant. " & quantitaformato1 & " X " & formato1 & " " & quantitaformato2 & " X " & formato2 & " " & quantitaformato3 & " X " & formato3 & " " & quantitaformato4 & " X " & formato4 & " " & quantitaformato5 & " X " & formato5 & ")"
    RecSet1.movenext
    Wend

    Poi nel textbody della email visualizzo la variabile prodotti.

    Il problema è ora diventato di impaginazione: non mi sente il & vbCrLf & della variabile prodotti e quindi mi concatena una stringa senza andare a capo.

    Qualcuno può aiutarmi ?

    E comunque grazie Ramboexp

  8. #8
    Prova così
    codice:
    prodotti = prodotti & vbCrLf &_
    "Ref. " & RecSet1("prodotto") & vbCrLf &_
    "(Quant. " & quantitaformato1 & " X " & formato1 & " " & vbCrLf &_
    quantitaformato2 & " X " & formato2 & " " & vbCrLf &_
    quantitaformato3 & " X " & formato3 & " " & vbCrLf &_
    quantitaformato4 & " X " & formato4 & " " & vbCrLf &_
    quantitaformato5 & " X " & formato5 & ")"
    o così

    codice:
    prodotti = prodotti & "
    " & "Ref. " & RecSet1("prodotto") & "
    " & "(Quant. " & quantitaformato1 & " X " & formato1 & " " & "
    " & quantitaformato2 & " X " & formato2 & " " & "
    " & quantitaformato3 & " X " & formato3 & " " & "
    " & quantitaformato4 & " X " & formato4 & " " & "
    " & quantitaformato5 & " X " & formato5 & ")"
    ma l'email andrebbe inviata in formato html!

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    263
    ok la prima: funziona.
    Grazie

    Marco

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.