Inviare email con CDO in Visual Basic 6

Applicazioni desktop con Visual Basic 6
Impara a creare applicazioni gestionali col Visual Basic

Scritto da Luca Ruggiero nella sezione Visual Basic

Concesso in esclusiva a MrWebmaster.it - E' vietata la pubblicazione senza espresso consenso del proprietario

Come tutti gli altri linguaggi di casa Microsoft, anche il Visual Basic utilizza l'oggetto CDO per inviare email ad una form ed il funzionamento è analogo, ad esempio, a quello di ASP.

Non resta quindi che fare un esempio. Create un nuovo progetto ed aggiungete una form come nuovo EXE standard; inserite poi gli elementi fino ad ottenere un risultato simile all'immagine che segue

I nomi da assegnare agli elementi sono "txtNome" per la casella in cui andrà inserito il nome; "txtEmail" per la casella di testo in cui inserire l'email; "txtMessaggio" per la casella relativa al contenuto del messaggio; "cmdEmail" per il bottone di invio della mail.

Non preoccupatevi di assegnare un nome alle Label descrittive, in quanto non hanno alcuna utilità finalizzata al funzionamento del programma.

Inserite adesso il riferimento all'oggetto CDO dal menu
Progetto / Riferimenti
selezionando la voce Microsoft CDO for Windows 2000 Library.

Segue il codice relativo all'evento click sul bottone "cmdEmail"
Private Sub cmdEmail_Click()
    Dim nome, email, messaggio
    nome = txtNome.Text
    email = txtEmail.Text
    messaggio = txtMessaggio.Text
    If Len(Trim(nome)) = 0 Then
        MsgBox "Inserisci il tuo nome", vbCritical, "Errore"
        txtNome.SetFocus
    ElseIf InStr(email, "@") = 0 Then
        MsgBox "Inserisci la tua email", vbCritical, "Errore"
        txtEmail.SetFocus
    ElseIf Len(Trim(messaggio)) = 0 Then
        MsgBox "Inserisci il messaggio", vbCritical, "Errore"
        txtMessaggio.SetFocus
    Else
        Dim cdo As New CDO.Message
        With cdo
            .From = email
            .To = "tuamail@server.ext" ' QUI LA TUA EMAIL
            .Subject = "Messaggio da " & nome
            .TextBody = messaggio
            .Send
        End With
    End If
End Sub
Il funzionamento è semplice: effettuo in primis un controllo sui campi, compreso un banale controllo sul campo relativo all'indirizzo email del mittente; a condizioni soddisfatte creo la classe CDO.Message ed utilizzo i normali campi valorizzati dal mittente.

Naturalmente il computer su cui si testa lo script deve avere il componente installato.

Nota: l'indirizzo email del destinatario si prevede che sia statico e va inserito nell'unica riga di codice commentata del programma che riporto di sotto
.To = "tuamail@server.ext" ' QUI LA TUA EMAIL

I più cliccati della sezione Visual Basic

:: Guida a Visual Basic 6 (177.016)

:: Una rubrica in VB e Ms Access (98.026)

:: Richiamare una form da un'altra form in Visual Basic (24.159)

:: Una semplice calcolatrice in VB 6 (22.245)

:: Interazione tra Visual Basic ed MS Excel (22.213)

:: Leggere un file Xml col DOM in VB 6 (21.736)

:: Un visualizzatore di immagini in VB 6 (14.301)

:: Un semplice sistema di Login in VB 6 (12.580)

:: Scrivere un file MS Word in VB6 (12.473)

:: Creazione e cancellazione di un file di testo con Visual Basic (12.179)

IN EVIDENZA
DOWNLOAD