Errore runtime allegato dimensioni troppo grandi per server email

di ocrot il
9 risposte
Buongiorno,

ho il seguente problema:

sull'invio massimo di mail con allegati
.Attachments.Add (zippedFileFullName) 
ricevo l'errore
LA DIMENSIONE DEL FILE DA ALLEGARE è SUPERIORE AL LIMITE CONSENTITO DA SERVER

il server di posta non riceve allegati superiori ai 20mb

l'allegato è un file zip

mi dareste qualche spunto su come suddividere un file zip superiore a tot mega in piu' files zip?

grazie

9 Risposte

  • ocrot ha scritto:


    mi dareste qualche spunto su come suddividere un file zip superiore a tot mega in piu' files zip?
    ...questo problema lo deve risolvere Access?
  • Con il vba è possibile suddividere un file zip superiore ad una certa dimensione in piu' file zip?
  • Chi ZIPPA...?
    Si può gestire a monte il raggruppamento dei FILE o vuoi che sia lo ZIPPER a creare i Volumi...?
    Che ZIPPER hai a disposizione...? (leggi se supporta azioni da riga di comando e leggi le istruzioni per eseguirle)

    Da VBA puro non credo sia fattibile, ma da VBA puoi eseguire azioni con SHELL su riga di comando... quindi è fattibile, a seconda...

    Esempio:
    https://superuser.com/questions/336219/how-do-i-split-a-zip-file-into-multiple-segments

    Quando poi hai capito se e come usare la Riga di Comando, la riscrivi in VBA con le adeguate accortezze e la esegui con Shell.
  • Inserisco tutti i file presenti in una cartella in uno zip
                Open zippedFileFullName For Output As #1
                Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
                Close #1
                'copia i file e la cartella nel file zip
                Set ShellApp = CreateObject("Shell.Application")
            
                ShellApp.Namespace(zippedFileFullName).CopyHere folderToZipPath 'copia cartella e suo contenuto
  • Quindi hai già la risposta... qualcuno deve fare i Volumi... o li fai tu in fase di ZIP oppure se hai WinZip o WinRar, o 7Zip ti leggi il Manuale e vedi come fare da riga di comando, mi pare abbastanza semplice.

    Ti suggerirei la 1° in modo da avere sotto mano l'elenco magari in un Array per velocizzare poi l'inserimento degli allegati.
  • Perfetto, quello che temevo, speravo ci fosse qualcos'altro, grazie ancora
  • ocrot ha scritto:


    Perfetto, quello che temevo, speravo ci fosse qualcos'altro, grazie ancora
    Altro di che tipo....?
  • Per esempio ciclare i files contenuti dello zip analizzando lo spazio occupato e quando lo spazio progressivo supera x porti i file seguenti fuori dallo zip per crearne un altro
  • ocrot ha scritto:


    Per esempio ciclare i files contenuti dello zip analizzando lo spazio occupato e quando lo spazio progressivo supera x porti i file seguenti fuori dallo zip per crearne un altro
    Se non vuoi gestire personalmente (in Access) la dimensione (in byte) dei vari file, puoi sfruttare direttamente il programma con cui effettui la compressione, creando un archivio multi-volume (al raggiungimento delle dimensione massima voluta, crea un file progressivo, fino al termine dell'operazione d'archiviazione).
    Ovviamente per estrarre l'intero contenuto servono tutti i vari volumi, dei file creati, che dovranno essere inviati e ricostruiti dall'utente che riceve la mail.
    Per facilitare l'operazione si può impostare che l'archivio multi-volume, sia auto-estraente, ovvero in grado d'estrarre tutti i files contenuti senza bisogno di un altro programma.
    Chiaramente tale soluzione non è specifica di Access ma prerogativa del programma di compressione (WinZip, 7Zip, WinRAR, ecc.).
Devi accedere o registrarti per scrivere nel forum
9 risposte