Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.lang.visual-basic > #19909

Re: vb6 e outlook

From RobertoA <amorosik@tiscalinet.it>
Newsgroups it.comp.lang.visual-basic
Subject Re: vb6 e outlook
Date 2021-07-12 11:39 +0200
Organization Aioe.org NNTP Server
Message-ID <sch2l7$eav$1@gioia.aioe.org> (permalink)
References <72251dc4-141e-4310-8e54-183dc6c2dc17n@googlegroups.com> <scf9j0$4m1$1@gioia.aioe.org> <0cbf94bc-41ab-437f-83b0-d573b78e5592n@googlegroups.com>

Show all headers | View raw


Il 12/07/2021 09:24, gaetano cala ha scritto:
> Il giorno domenica 11 luglio 2021 alle 19:25:59 UTC+2 RobertoA ha scritto:
>> Il 11/07/2021 14:10, gaetano cala ha scritto:
>>> buongiorno,è da molto che non programmo in vb6,perdonatemi per la mia richiesta:in una form ho scritto un codice che tramite la pressione di un commandbutton mi esegue una ricerca ed invia la stessa email a tutti i destinatari. Il codice va bene : fa la ricerca,apre outlook,mi mostra la email ed i destinatari e mi da la possibilita di inviare la email,solo che questa viene spedita solo se io riapro outlook e mi collego con il mio account. come posso evitare questo ultimo passaggio ? questo è il codice :
>>> Private Sub Command1_Click()
>>> Dim OutApp As Object
>>> Dim OutMail As Object
>>>
>>> Dim destinatari As String
>>>
>>>
>>> Dim cn As ADODB.Connection
>>> Dim rs As ADODB.Recordset
>>> Dim database As String
>>>
>>> database = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
>>> database = database & App.Path & "\" & "ospiti.mdb"
>>>
>>> Set cn = New ADODB.Connection
>>> Set rs = New ADODB.Recordset
>>>
>>> cn.Open database
>>>
>>> rs.Open "Select EMAIL from ANAGRAFICA where MID (DATANASCITATESTO,1,5) = '" & Text1.Text & "'", cn, 3, 3#
>>>
>>>
>>> rs.MoveFirst
>>> Do Until rs.EOF
>>> destinatari = (destinatari & ";") & rs.Fields("EMAIL")
>>> rs.MoveNext
>>>
>>>
>>> Loop
>>> Set OutApp = CreateObject("Outlook.Application")
>>> Set OutMail = OutApp.CreateItem(0)
>>> With OutMail
>>> .To = ""
>>> .CC = destinatari
>>>
>>> .Display
>>> End With
>>>
>>> Set OutMail = Nothing
>>> Set OutApp = Nothing
>>>
>>>
>>> End Sub
>>>
>> L'invio email e' una funzionalita' che dipende fortemente da come e'
>> preparato il pc sul quale si sta lavorando
>> Ti consiglio di slegarti dal client attualmente installato
>> Magari su un pc hai Outlook, su altro hai Thunderbird e cosi via, e
>> quindi se realizzi tutto 'cablato' su Outlook, poi capita che se non ti
>> funziona piu' l'invio email
>> Per sganciarti dal client email installato, e garantirti la perfetta
>> funzionalita' su tutte le installazioni che avrai, puoi usare Swithmail
>> oppure Blat
>> Sono dei programmi che avvii a riga di comando e puoi inviare messaggi a
>> chi vuoi, anche loggando eventuali errori che potrai poi leggere
>> Destinatari multipli, allegati, log errori, testo messaggio anche in
>> html, fanno di tutto
> 
> Grazie ma penso di aver risolto con queste linee di programma :
> 
> Dim MailDestinatario As String
> Dim IDTuoAccountGmail As String
> Dim PasswordTuoAccountGmail As String
> Dim Oggetto As String
> Dim CorpoMessaggio As String
> Set iMsg = CreateObject("CDO.Message")
> Set iConf = CreateObject("CDO.Configuration")
> Set Flds = iConf.Fields
>   
> schema = "http://schemas.microsoft.com/cdo/configuration/"
> Flds.Item(schema & "sendusing") = 2
> Flds.Item(schema & "smtpserver") = "smtp.gmail.com"
> Flds.Item(schema & "smtpserverport") = 465
> Flds.Item(schema & "smtpauthenticate") = 1
> Flds.Item(schema & "sendusername") = "tuaemail"
> Flds.Item(schema & "sendpassword") = "password"  'bisogna generare una password per applicazione in google,io la password l'ho
>                                                           'chiamata vb6
>                                                           
> Flds.Item(schema & "smtpusessl") = 1
> Flds.Update
>   
> With iMsg
>      .to = destinatari
>      .From = "tuaemail"
>      ''.Sender = ""
>      '.ReplyTo = ""
>      .Subject = Oggetto
>   .HTMLBody = CorpoMessaggio
>    
>      Set .Configuration = iConf
>      
>      sendemailgmail = .Send
> 
> End With
>   
> Set iMsg = Nothing
> Set iConf = Nothing
> Set Flds = Nothing
> 
> Aggiungo queste linee alle mie precedenti,opportunamente modificate, e tutto funziona; solo che i destinatari vedono anche gli indirizzi email degli altri,non so come risolvere.
> 

Quel 'destinatari' mettilo su .ccn  al posto del  .to
Fossi in te, meterei l'invio delle email dentro al ciclo che raccoglie i 
destinatari, e manderei un'email per ognuno
Se qualcuno rispondesse, avresti la possibilita' di comunicare con 
maggior precisione solamente con illo

Back to it.comp.lang.visual-basic | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

vb6 e outlook gaetano cala <calabresega@gmail.com> - 2021-07-11 05:10 -0700
  Re: vb6 e outlook "Freccia (VegetaSSj)" <NIENTESPAMfreccia_vegetassj@hotmail.invalid> - 2021-07-11 15:33 +0200
  Re: vb6 e outlook RobertoA <amorosik@tiscalinet.it> - 2021-07-11 19:25 +0200
    Re: vb6 e outlook gaetano cala <calabresega@gmail.com> - 2021-07-12 00:24 -0700
      Re: vb6 e outlook RobertoA <amorosik@tiscalinet.it> - 2021-07-12 11:39 +0200
        Re: vb6 e outlook gaetano cala <calabresega@gmail.com> - 2021-07-13 00:20 -0700

csiph-web