Newsgroup: it.comp.appl.access
Titolo: Allegati di posta e liste utenti ...quale soluzione?

Buonasera carissimo NG! ho due funzioni che vanno bene per mandare email da
Access...ma....
Prima soluzione
Private Sub Comando2_Click()
    Dim oOutlook As New Outlook.Application
    Dim oMessage As Outlook.MailItem
    Dim ns As Outlook.NameSpace
    Set ns = oOutlook.GetNamespace("MAPI")
    ns.Logon , , True, True
    Set oMessage = oOutlook.CreateItem(olMailItem)
    With oMessage
        .To = "indirizzi da scrivere qui"
        .CC = "indirizzi da scrivere qui"
        .Subject = "Prova di spedizione"
        .Body = "VI ALLEGO COPIA DEL BOLLETTINO"
        .Attachments.Add "c:\_boll_giorn\Report1_21 febbraio 2005.zip"
        .Display
        .Send
'        .Save ' con questo la salva in bozze
    End With
    ns.Logoff       'Logoff Exchange
    Set ns = Nothing    '
    Set oOutlook = Nothing
End Sub
 Seconda soluzione
Private Sub Comando3_Click()
Dim rst1 As Recordset
Dim elenco As String
Dim s, t As Integer
Set rst1 = CurrentDb.OpenRecordset("indirizzi_prova")
rst1.MoveFirst
rst1.MoveLast
t = rst1.RecordCount
rst1.MoveFirst
For s = 1 To t
If s = 1 Then indirizzi_prova = rst1!Email Else indirizzi_prova =
indirizzi_prova & ";" & rst1!Email
rst1.MoveNext
Next
DoCmd.SendObject acTable, "indirizzi_prova", "RichTextFormat(*.rtf)", "",
"", indirizzi_prova, "circolare", "prova", False, ""
End Sub
La seconda soluzione mi permette di gestire gli indirizzi tramite una
tabella con gli indirizzi email quindi con ampia possibilita di cambiare
...al volo....ma non mi permette di allegare un file che risiede sul
disco...mentre la prima lo puo fare.......è possibile fare in modo che lo
possa fare ?
Oppure che la prima possa gestire una lista da una tabella di indirizzi come
la seconda soluzione?
Vi ringrazio come sempre per l'aiuto che mi potrete dare!
Grazie e buona serata
Paolo

 ha scritto nel messaggio
news:O_rSd.59559$2h5....@tornado.fastwebnet.it...

Ciao Paolo,
non ho controllato routine che hai scritto .
Ti segnalo semplicamente la possilità di scaricare il Mail_sender di @Alex
che è qualcosa di straordinario a dir poco!
Lo trovi sia sul Sc che nel sito di @Alex.
Il link non te li posto perchè credo che tu li conosca.
Un  saluto

 ha scritto nel messaggio
news:38sSd.574252$b5.26...@news3.tin.it...

Un saluto anche a te e grazie per la risposta, non manchero di vedere la
soluzione che mi hai proposto dal sito dle grande Alex ma credo che dato che
devo integrare in una struttura ben definita ormai del mio database sarei
orientato a definire al suo interno una gestione un po personalizzata....
spero che sia possibile e vorrei proprio poi riutilizzare in altri contesti
lo stesso codice che eventualmente mi aiuterete a definire....
Grazie di nuovo e buon lavoro!
Claudio

 Claudio
Se invece di un applicativo completo ti servono delle funzioni per inviare
da VBA e-mail a più destinatari con allegati (funzioni che inserirai quindi
nel tuo database), vai sul Sito Comune e nella Sezione General leggi la FAQ
di Andrea Barchetti intitolata "Inviare da codice VBA una e-mail con
allegati usando Outlook Express".
Sempre nella Sezione General del Sito Comune puoi dare uno sguardo anche a
queste altre FAQ:
1) Inviare e-mail ad una lista di utenti (mailing list) con MSAccess
utilizzando il winsock di Maurizio Cenere
2) Inviare e-mail con MSAccess utilizzando il winsock di Paolo Beltrame
3) Inviare e-mail con MSAccess utilizzando la libreria mapi32.dll di Carlo
Costarella.
Forse quella più vicina alle tue necessità è quella documentata nella FAQ di
Maurizio Cenere.
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

 ha scritto nel messaggio
news:PS3Td.47531$lB4.1...@twister1.libero.it...

ciao Roberto e grazie per la segnalazione , ho avuto modo di vedere la
soluzione di Maurizio e mi sembra proprio fatta al caso mio....la mettero in
pratica di certo
adesso purtroppo apro un altro post su un problema forse meno difficile ma
per me un po ostico
Grazie ancora
Paolo


ps non dovrei far vedere tutti gli indirizzi mail a quelli che ricevono
la mail
spero di essere stato abbastanza chiaro.


MAssimialino 

 >> Set rst1 = CurrentDb.OpenRecordset("indirizzi_prova")
                                                                    qui
devo scrivere la mia query?


Private Sub Comando3_Click()
Dim rst1 As Dao.rdset
Dim elenco As String
Dim s as long, t As Long       ' l'ho convertito in long per evitare 
overflow casomai fossero molti
Set rst1 = CurrentDb.OpenRecordset("indirizzi_prova")    'immagino questa 
sia la tua query
With str1         ' dichiarando così non c'è bisogno che tu faccia ogni 
volta
    .MoveLast
    .MoveFirst      'metendolo al contrario risparmi un'istruzione
    t = .RecordCount
        For s = 1 To t       ' Se vuoi usare For va abene ma potevi usare 
anche Do ... loop,cmq
        elenco = !elmail & "; "
        .MoveNext
        Next s
DoCmd.SendObject acSendReport, elenco, ".rtf", , , elenco, "Pippo"   'l'ho 
ropirtato fuori perchè ho cambiato idea,        'ti crei un elenco di tutto 
e mandi tutto con Bcc così nessun destinatario sa degli altri
End sub
In realtà io avrei usato i Cdo per inviare una mail alla volta in maniera 
trasparente all'utente.
Con la tua tecnica potresti avere problemi qualora un indirzzo fosse 
sbagliato
Ciao MAssimiliano