Newsgroup: it.comp.appl.access
Titolo: E-Mail, Access: lento esempio sul sito

Buonanotte a tutti....(!!!!!)
Ho scaricato l'esempio dal sito comune per la gestione dell'invio della
posta tramite ACCESS, nella fatti specie quello per mandare il messaggio
ad una lista di utenti.
Premetto che ho A2000 su Win XP-Pro.
Se ho degli allegati leggerissimi, diciamo che è tutto ok, se passano i
100 Kb ci mette un eternità per inviare la stessa Email a 4 destinatari.
E' normale tutto ciò??? Oppure  devo modificare qualche cosa??
Ho già modificato al massimo il tempo di timeout (come ho letto in qualche
post precedente), altrimenti si bloccava addirittura.
Grazie a tutti.
Saluti
-- 
Raffaele Alberoni
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Saluti
No, o meglio si.
Se non ricordo male quell'esempio non sfrutta i metodi
Nativi per inviare la posta a + utenti, ma invia Mail
Singole eseguendo un Ciclo.
Però non vorrei sbagliare esempio, dovresti essere
più preciso.
La strutturazione dei messaggi di Posta prevede la
possibilità di impostare una Stringa che contiene
l'elenco dei Destinatari, ovviamente va formattata
in modo corretto.
In questo modo il messaggio con Allegato da parte tua
è inviato unicamente, il Server distribuisce a tutti.
Eventualmente dai un'occhiata al protocollo di 
trasmissione dati.
Ciao.
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 @Alex
Grazie @Alex per la risposta.
Effettivamente devo studiarmi di più la cosa per rendere efficace questa
procedura, ho visto un altro esempio dove l'invio simultaneo non crea
problemi.
Adesso devo riuscire a unire i due esempi per avere una lista di
destinatari, ma la spedizione deve avvenire in maniera univoca e con con
un ciclo.
Il nuovo esempio è quello che si chiama SendMailMapi. quindi devo
approfondire questo argomento.
Grazie per la disponibilità.
Ciao


 Ciao
Se non hai urgenza posto 2 righe di come io ho realizato
la cosa.(In serata)
La cosa è semplice, ma ci sono alcuni inghippi di sintassi
con la costruzione della Stringa e dei Terminatori.
Non so se con CDO tutto questo si risolve inserendo l'elenco
con il ";".... non hoprovato in quanto sto cercando di sfruttare
le API per accedere alla WinSock32.dll per fare un Browser
di Posta, di conseguenza mi devo fare tutto a mano....!!
Per ora funziona con l'OCX WinSoc sia in trasmisione che in
ricezione con Allegati.
Se otterrò qualche cosa di carino(senza OCX) magari lo inserirò nel Web.
Ciao.
@Alex.


 @Alex.
Ben volentieri!!!!
Fretta non ne ho, anche perchè io di solito non COPIO così alla brutta, ma
prendo spunto per studiarci sopra, cercare di capire e poi fare qualcosa
di mio personalizzato.
Quindi aspetto ....anche stasera!!!! eh eh eh eh
Grazie e ciao


 Raffaele Alberoni
Come promesso ti descrivo brevemente quello che ho impostato.
Una TextBox(RecipientEmail) nella quale accetto la Multi inserzione
come la maggioranza dei Browser separando da ";".
La routine di seguito in realtà serve solo per avere dal Server SMTP
l'OK(valore 250) che l'indirizzo Mail del Destinatario esiste, all'interno
compongo la Stringa che invierò più avanti.
Tieni sempre presente che devi costruire una STRINGA che comprende
tutto, poichè il messaggio a Server SMTP viene inviato in un colpo solo
comprensivo degli allegati(scomposti in file Binari con Decodifica Base64)
    '//    Spitto il testo in un'array per gestire la costruzione stringa
    '//    con un semplice ciclo For
   Dim mArrSender As Variant    '//    Array per il Ciclo
   Dim x As Integer                     '//    Variabile per il Ciclo For
   Dim y As Integer                     '//    Numero di Destinatari
                                                  '//    ricavato con
UBound(array)
   Dim sToHeader As String
     mArrSender = Split(RecipientEmail, ";")
     '//    Ricavo il numero Destinatari
     y = UBound(mArrSender)
    '//    Inizio il Ciclo per inviare al Server SMTP l'elenco dei
Destinatari
      For x = 0 To y
        '//    In questo caso uso WinSock
         wsk.SendData ("RCPT TO:<" & CStr(mArrSender(x)) & ">" & vbCrLf)
        '//    Questa Routine chiamo il Server SMTP e leggo nella stringa
        '//    strData(dichiarata a livello di Modulo) il messaggio di
ritorno
        '//    L'OK viene restituito come 250
        Call getreply
         If Left(strData, 3) <> "250" Then GoTo HandleError
        '//    Compongo la Stringa che useremo dopo
        sToHeader = sToHeader & " <" & mArrSender(x) & ">"
        '//    Questo serve per evitare il vbCrLf+VbTab all'ultima riga
        '//    come ti dicevo la sintassi è fondamentale
         If x < y Then sToHeader = sToHeader & ", " & vbCrLf & vbTab
      Next
      Erase mArrSender
    '//    A questo punto inizia la gestione del Corpo della Mail
    '//    ritengo sia la parte più complessa(sempre per la sintassi)
   msgBody = "Date: " & DateSent & vbCrLf
    '//    senderName è la TextBox del Mittente
   msgBody = msgBody & "From: " & Me.senderName & " <" & Me.SenderEmail &
">" & vbCrLf
    '//    Questa è la parte che allega al Messaggio la parte dei
destinatari.
   msgBody = msgBody & "To:" & sToHeader & vbCrLf
    '//    Se dovessi avere dei "CC" e dei "BCC" la tecnica è la stessa
    '//    quindi inizia la parte della Decodifica degli allegati con Base64
ecc......!!!
Se hai altri dubbi credo di poterli chiarire senza grosse difficoltà, il
protocollo
SMTP è relativamente semplice da capire, serve solo il tempo di leggerlo.
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

ALESSANDRO Baraldi ha scritto:






Promessa mantenuta!!
Ottimo lavoro, adesso tocca a me!!!!
Direi che come spiegazione è esauriente (per il momento) e come dici te,
bisogna avere il tempo per leggere e aggiungo io... studiare e fare le
prove.
Come fatto osservare altre volte per me questo è il miglior modo di
imparare.
Per il momento ho fatto un collage dei tre esempi del sito comune,
cercando di adattarlo alle mie esigenze e cioè poter prendere in
automatico la lista dei destinari da una tabella, decidere a chi mandare
l'email, memorizzare i dati dell'email per eventuali spedizioni future e
mandare le email.
Ciao.
