Buongiorno ed auguri di Buona Pasqua a tutti!
come da titolo, devo inviare una mail a tutti i record presenti all’interno di una tabella (attualmente sono una 50ina)
questo il mio ciclo:
Dim db As New MSSQLServerDatabase
db.Host ="192.168.1.226" // or just the IP if using the default instance
db.DatabaseName = "SalCommessa"
db.UserName = "sa" // or "Domain\\UserID for trusted domain accounts
db.Password = "XXXYYYY"
If db.Connect Then
//recupero commesse
dim stringa_sql as string
Dim ps As MSSQLServerPreparedStatement
Dim rs As RecordSet
stringa_sql="Select Commessa,Codice_Cliente,Ragione_Sociale,E_Mail,Italia_Estero,Perc_Lavorato,Stato,Data_Consegna"
stringa_sql=stringa_sql+" from Elenco_Commesse "
ps = db.Prepare(stringa_sql)
rs = ps.SQLSelect
if rs <> Nil Then
While Not rs.EOF
//invio mail
dim smtp as new SMTPSecureSocket
smtp.Address = Icam_SAL_Commessa.smtp_host
if Icam_SAL_Commessa.smtp_secure="True" then
smtp.Secure = true
else
smtp.Secure = false
end if
smtp.Port = Icam_SAL_Commessa.smtp_port.Val
smtp.ConnectionType = 1
smtp.Username = Icam_SAL_Commessa.smtp_account
smtp.Password = Icam_SAL_Commessa.smtp_password
Dim mail As New EmailMessage
Dim testocom as string
mail.FromAddress = Icam_SAL_Commessa.smtp_account
mail.AddRecipient("emmecisistemi@gmail.com")
mail.Subject = "prova invio commessa "+rs.IdxField(1).StringValue
testocom = ""
testocom=testocom+rs.IdxField(1).StringValue+"invio di test - Ciro - "+rs.IdxField(7).StringValue
'testocom=ReplaceAll(testocom,"[cognome]",LstComunicazioni.Cell(i,2).Trim)
dim lines() as string
lines.Append testocom
mail.BodyPlainText = Join(lines, EndOfLine)
smtp.Messages.Append(mail)
smtp.SendMail()
msgbox("inviata mail commessa "+rs.IdxField(1).StringValue)
app.SleepCurrentThread(3000)
rs.MoveNext
Wend
rs.Close
end if
db.Close
Else
MsgBox("Connection error:" + db.ErrorMessage)
End If
il problema che, mentre vedo i vari msgbox che scorrono sui vari record, o non mi arrivano proprio le mail (ho messo a tutte per ora il mio indirizzo di gmail come destinatario) o me ne arrivano solo 2-3, come mai?
oppure, avete un altro modo per fare questo tipo di operazione?
aggiungo che l’invio avviene via smtp utilizzando una casella ed i parametri di Aruba.
grazie