Newsgroup: it.comp.appl.access
Titolo: Inviare mail a gruppi di N record

Salve NG
con questa routine
ciclo una tabella che contiene gli indirizzi mail
infine la invio ai rispettivi destinatari
volevo modificarla di modo però che invii una mail ogni N indirizzi
per bypassare i controlli antispam dei mailserver, diciamo ogni 30
record.
La tabella ha degli id univoci
con DCount potrei calcolare il nr indirizzi
dopodichè nebbia totale
qualcuno sà come potrei fare?
Grazie
Alex
'===================
Private Sub InviaMailCiclo_Click()
On Error GoTo InviaMailCiclo_Err
Dim dbs As Database
Dim rst As Recordset
Dim strTbl As String
Dim Corpo As String
Dim Mails As String
Dim Fine As String
'Se non trovo record
If DCount("*", "Q_FILTRA_RICHIESTA") = 0 Then
GoTo NessunRecord
Else
strTbl = "T_mails"
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(strTbl)
' intestazione corpo mex
Corpo = "Questo messaggio è stato creato da un processo automatico il
" & Now & vbCrLf & vbCrLf
Corpo = Corpo & "Corpo mail " & idd & vbCrLf
Corpo = Corpo & "______________________________________" & vbCrLf &
vbCrLf
' Fine corpo del mex
Fine = "Cordiali saluti bla bla" & vbCrLf
Corpo = Corpo & Me![Risultato]
Corpo = Corpo & vbCrLf
Corpo = Corpo & vbCrLf & Fine
'Ciclo gli indirizzi destinatari
Do While Not rst.EOF
Mails = Mails & "'" & rst(1) & "';"
rst.MoveNext
Loop
'invio la mail
DoCmd.SendObject acSendNoObject, , , Mails, , , "Comunicazione
numerazioni bla bla " & Me![ENTEAZ] & " " & Me![ORDSAPAZ], Corpo, 0
MsgBox "E-mail inviata: " & NrNOTA & vbCrLf & vbCrLf & "Riferimento :
" & idd
rst.Close
Set rst = Nothing
End If
Exit Sub
NessunRecord:
sndPlaySound "C:\Programmi\errorSAP.wav", 0
MsgBox "Che minkia invio? Non c'è niente qui da inviare, cambia
mestiere!"
Exit Sub
InviaMailCiclo_Exit:
    Exit Sub
InviaMailCiclo_Err:
    MsgBox Error$
    Resume InviaMailCiclo_Exit
End Sub
'====================

 '====================
-- 
Ciao
Geppo 

"Geppo" <c...@tin.it.invalid> ha scritto nel messaggio 
news:FIE_j.85908$FR.3...@twister1.libero.it...

Sicuramente i mailserver apprezzano di più un destinatario per ogni mail.
Quindi io eseguirei il comando di invio ad ogni record...
Do While Not rst.EOF
    docmd.sendobject ....
Loop
Ciao
-- 
Roberto da Parma 

Roberto da Parma ha scritto:

PErsonalmente io uso da tempo la soluzione di Roberto e funziona tutto alla grande. Unico inconveniente: non si può sfruttare l'argomento 'ModificaMessaggio' per inviare tutto direttamente...la posta elettronica non gradisce. Devo utilizzare sendobject e poi confermare ogni invio. Probabilmente si può configurare la posta per accettare invii cumulativi da QUEL programma specifico...non so...non ho controllato...ora provo
-- 
Questo articolo e` stato inviato dal sito web 
http://www.nonsolonews.it

 ha scritto nel messaggio 
news:g1ffae$u7l$1...@news.nonsolonews.it...

Ci sarebbero altri modi (vedi l'utilizzo delle MAPI) che permettono di fare 
questo senza chiedere poi conferma al programma.
Questo però con OE, perchè (forse giustamente) Outlook invece avverte che 
un'altra applicazione sta tentando di inviare un messaggio anche se poi 
parte automaticamente dopo un countdown di 15 secondi.
Indubbiamente la soluzione più generale e sicura sarebbe integrare nella 
propria applicazione un form MAILSENDER, non a caso ho utilizzato questo 
nome :-))) .
Puoi infatti trovare un demo perfettamente funzionante sul sito di 
Baraldi...
www.alessandrobaraldi.it


Grazie a tutti, non ho ancora provato nulla però mi vengono in mente
altri problemi per la gestione degli errori:
1) Per l'esempio portato da Geppo, cosa accade se il server
restituisce un qualsiasi errore?
tipo...... mail inesistente, in teoria il processo dovrebbe
inchiodarsi
2) Per la soluzione mapi, che in parte conosco, che traccia mi rimane
delle mail inviate?
A differenza dell'altra ipotesi sarebbe possibile formattare il testo
da inviare?
Se anche qui ricevessi un mex di errore da parte del server come
intercetto la cosa?
Grazie
Alex

 ha scritto nel messaggio 
news:79e38e9c-0dc4-4bbf...@f63g2000hsf.googlegroups.com...
Grazie a tutti, non ho ancora provato nulla perň mi vengono in mente
altri problemi per la gestione degli errori:
1) Per l'esempio portato da Geppo, cosa accade se il server
restituisce un qualsiasi errore?
tipo...... mail inesistente, in teoria il processo dovrebbe
inchiodarsi
Una volta inviata la mail gli errori vengono gestiti dal programma di posta.
Quello che devi controllare tu nel programma č tutt'al piů che la mail non 
abbia valore nullo.
2) Per la soluzione mapi, che in parte conosco, che traccia mi rimane
delle mail inviate?
Se la gestisci interamente da access naturalmente dovrai gestire anche la 
posta inviata.
A differenza dell'altra ipotesi sarebbe possibile formattare il testo
da inviare?
Non č cosě semplice.Personalmente ho ancora al vaglio la cosa...
Se anche qui ricevessi un mex di errore da parte del server come
intercetto la cosa?
Dipende dalla comunicazione che hai dal server.
Grazie
Alex 

OK
Grazie ancora