Path: csiph.com!aioe.org!VYr/u1gMygMZk6k+mfwTkQ.user.gioia.aioe.org.POSTED!not-for-mail From: RobertoA Newsgroups: it.comp.lang.visual-basic Subject: Re: vb6 e outlook Date: Mon, 12 Jul 2021 11:39:51 +0200 Organization: Aioe.org NNTP Server Lines: 112 Message-ID: References: <72251dc4-141e-4310-8e54-183dc6c2dc17n@googlegroups.com> <0cbf94bc-41ab-437f-83b0-d573b78e5592n@googlegroups.com> NNTP-Posting-Host: VYr/u1gMygMZk6k+mfwTkQ.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: it Xref: csiph.com it.comp.lang.visual-basic:19909 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