Ciao ho questo codice che mi spedisce un email in base ai record che ho selezionato prima.
codice:
While Not RSI.EOF
'creo la stringa per inviare le mail con blat
Server = " -serverSMTP smtp.serverposta.it"
From = " -f email@origine.com"
Destinatario = " -to email@destinazione.it"
SubJect = " -subject " & RSI!NomeFile
Body = " -body " & RSI!NomeFile
Codifica = " -base64"
Attach = " -attach " & RSI!percorso & RSI!NomeFile & "." & RSI!est
Log = " -log " & PercBlatLog & Scat & "-" & Invio & ".log -debug -timestamp "
TimeOut = " -ti 60"
Params = " -try 3"
RSI.Edit
RSI!datainvio = Now
RSI.Update
cmdBlat = PercBlat & Server & From & Login & Destinatario & SubJect & Body &
Codifica & Attach & Log & TimeOut & Params
'esito = WshShell.Run(cmdBlat, 5, True)
' 5 visualizza la finestra
esito = WshShell.Run(cmdBlat, 1, True) 'debug
DoEvents
'esito=0 non ci sono errori
'esito <> 0 ci sono stati errori con l'invio delle email
If esito <> 0 Then
ErrorMex = ErrorMex & RSI!NomeFile & ": " & esito & vbCrLf
Else
RSI.Edit
RSI!statoImg = 2
RSI.Update
End If
'metto codice per aggiornare barra avanzamento
progressBar.Value = progressBar.Value + 1
RSI.MoveNext
Wend
cmdblat e' una stringa che richiama blat.exe (www.blat.net) un programma che invia email da riga di comando. il mio problema e' che ogni tanto la variabile "esito" mi restituisce valore 259 che, cercando in giro sul web ho scoperto essere un errore di timeout. In realta' l'emal la spedisce ugualmente ed arrriva quindi non e' un problema di blat.exe ma del comando che richiama la shell. Documentandomi sull'uso di shell.run ho letto che l'ultimo parametro che accetta (true o false) indica che deve attendere che il comando lanciato aspetti fino a che si chiude; il mio problema e' che ogni tanto non aspetta e mi restituisce quell'errore 259, mi basterebbe anche solo aumentare il timeout dello script ma non so come fare (ho cercato ma sembra non si possa). qualcuno mi sa aiutare????