Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

invio email senza client di posta

63 views
Skip to first unread message

Giò

unread,
Jul 24, 2009, 7:00:01 AM7/24/09
to
Buongiorno a tutti, ho la necessita' di inviare un'email da access, ho
utilizzato il comando DoCmd.SendObject acSendNoObject, con questo comando ho
impostato in automatico i destinatari, l'oggetto e il corpo del messaggio,
sul mio pc, ho installato outlook express e non c'e' problema, funziona
benissimo, il db pero' deve girare su un pc che non ha nessun client di posta
configurato, ma si accede alla posta tramite webmail, per far funzionare le
impostazioni su webmail, devo utilizzare sempre DoCmd.SendObject
acSendNoObject, oppure si deve fare in altro modo?
Spero di essermi spiegata bene
Grazie
Saluti
Gio'

miciomao

unread,
Jul 24, 2009, 7:20:24 AM7/24/09
to

Cinzia

unread,
Jul 24, 2009, 7:28:53 AM7/24/09
to


"Gi�" <G...@discussions.microsoft.com> ha scritto nel messaggio
news:190FA553-A4C0-4558...@microsoft.com...

Ciao Gi�,
se non hai un client di posta elettronica sul pc in questione puoi
usare l'oggetto CDO per inviare email, che si appoggia ad un
componente di sistema


ES. di procedura per invio di email:
'Invia email prelevando i dati che servono dalla query nomequery
Public Sub SendEmail(nomequery As String)
On Error GoTo Err_btn_email_Click

Dim rs As Dao.Recordset
Dim mymail As New CDO.Message
Dim objConfig As New CDO.Configuration
Dim Fields
Dim i As Long
Dim qdef As QueryDef

Const cdoSendUsingMethod =
"http://schemas.microsoft.com/cdo/configuration/sendusing"
Const cdoSMTPServer =
"http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSMTPServerPort =
"http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSMTPConnectionTimeout =
"http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
Const cdoSMTPAuthenticate =
"http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
Const cdoBasic = 1
Const cdoSendUserName =
"http://schemas.microsoft.com/cdo/configuration/sendusername"
Const cdoSendPassword =
"http://schemas.microsoft.com/cdo/configuration/sendpassword"

Set Fields = objConfig.Fields
i = 0
With Fields
.Item(cdoSendUsingMethod) = 2
.Item(cdoSMTPServer) = "smtp.tuodominio.it" 'personalizzare con
l'indirizzo smtp del proprio provider
'.Item(cdoSMTPServer) = "smtp.tiscali.it" 'esempio
.Item(cdoSMTPServerPort) = 25
.Item(cdoSMTPConnectionTimeout) = 60
.Item(cdoSMTPAuthenticate) = 1
.Item(cdoSendUserName) = "in...@tuodominio.it" 'inserire lo username
di accesso alla posta
.Item(cdoSendPassword) = "password" 'inserire la password
.Update
End With

Set mymail.Configuration = objConfig
mymail.Fields.Update
mymail.ReplyTo = "i...@miodominio.it"

mymail.From = "i...@miodominio.it"
mymail.Subject = "Oggetto della mail"
mymail.MDNRequested = False

Set rs = CurrentDb.OpenRecordset(nomequery)

While Not rs.EOF

mymail.HTMLBody = "<html><body style=""FONT-FAMILY: Verdana,
Arial, Helvetica, sans-serif; font-size:12px"">" &
CreaTestoMessaggio(rs) & "</body></html>"
'CreaTestoMessaggio (rs) � una funzione che prende i dati del
recordset e costruisce il messaggio da inviare
mymail.To = rs.Fields("email")
mymail.Send

goOn:
rs.MoveNext

Sleep (3000) 'Attendi un po per non ingolfare l'smtp server

Wend

DoCmd.Close

MsgBox "Invio terminato!"
Exit_btn_email_Click:
Exit Sub

Err_btn_email_Click:
MsgBox Err.Description & " Problemi alla mail: " &
rs.Fields("email")
Resume goOn

End Sub


--
Cinzia [Office Access MVP]
_______________________
www.riolab.org
http://accessdaziacin.spaces.live.com
---------------------------------------->


Giò

unread,
Jul 24, 2009, 9:24:01 AM7/24/09
to
questo nuovo metodo, invia l'email direttamente oppure mi permette di
visualizzare l'anteprima? Ti spiego, con il metodo send, prima di inviare
l'email, visualizzao l'anteprima e poi invio manualmente, con il tuo metodo
si puo' fare lo stesso?

Grazie

Ciao


"Cinzia" ha scritto:

>
>
>
> "Giò" <G...@discussions.microsoft.com> ha scritto nel messaggio

> news:190FA553-A4C0-4558...@microsoft.com...
> > Buongiorno a tutti, ho la necessita' di inviare un'email da access,
> > ho
> > utilizzato il comando DoCmd.SendObject acSendNoObject, con questo
> > comando ho
> > impostato in automatico i destinatari, l'oggetto e il corpo del
> > messaggio,
> > sul mio pc, ho installato outlook express e non c'e' problema,
> > funziona
> > benissimo, il db pero' deve girare su un pc che non ha nessun client
> > di posta
> > configurato, ma si accede alla posta tramite webmail, per far
> > funzionare le
> > impostazioni su webmail, devo utilizzare sempre DoCmd.SendObject
> > acSendNoObject, oppure si deve fare in altro modo?
> > Spero di essermi spiegata bene
> > Grazie
> > Saluti
> > Gio'
>

> Ciao Giò,

> ..Item(cdoSendUsingMethod) = 2
> ..Item(cdoSMTPServer) = "smtp.tuodominio.it" 'personalizzare con

> l'indirizzo smtp del proprio provider
> '.Item(cdoSMTPServer) = "smtp.tiscali.it" 'esempio

> ..Item(cdoSMTPServerPort) = 25
> ..Item(cdoSMTPConnectionTimeout) = 60
> ..Item(cdoSMTPAuthenticate) = 1
> ..Item(cdoSendUserName) = "in...@tuodominio.it" 'inserire lo username
> di accesso alla posta
> ..Item(cdoSendPassword) = "password" 'inserire la password
> ..Update


> End With
>
> Set mymail.Configuration = objConfig
> mymail.Fields.Update
> mymail.ReplyTo = "i...@miodominio.it"
>
> mymail.From = "i...@miodominio.it"
> mymail.Subject = "Oggetto della mail"
> mymail.MDNRequested = False
>
> Set rs = CurrentDb.OpenRecordset(nomequery)
>
> While Not rs.EOF
>
> mymail.HTMLBody = "<html><body style=""FONT-FAMILY: Verdana,
> Arial, Helvetica, sans-serif; font-size:12px"">" &
> CreaTestoMessaggio(rs) & "</body></html>"

> 'CreaTestoMessaggio (rs) è una funzione che prende i dati del

Cinzia

unread,
Jul 24, 2009, 3:26:51 PM7/24/09
to


"Gi�" <G...@discussions.microsoft.com> ha scritto nel messaggio
news:9979AE2A-A2BA-48CA...@microsoft.com...


> questo nuovo metodo, invia l'email direttamente oppure mi permette
> di
> visualizzare l'anteprima? Ti spiego, con il metodo send, prima di
> inviare
> l'email, visualizzao l'anteprima e poi invio manualmente, con il tuo
> metodo
> si puo' fare lo stesso?
>
> Grazie
>
> Ciao
>
>

No, con questo metodo viene inviato immediatamente senza anteprima,
anche perc� senza un client di posta � un po' difficile vedere
l'anteprima.
Potresti eventualmente costruire il testo del messaggio e prima
dell'invio visualizzarlo in una maschera con un controllo Webbrowser.

0 new messages