Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    eliminare un file dal server temporizzando l'operazione

    Sto realizzando uno script che dovrebbe compiere questa sequenza di operazioni:
    1.invia in automatico una email con allegato un file
    al termine dell'invio,
    2.elimina il file in questione

    ora il mio problema è questo:
    siccome la sequenza è molto rapida, l'invio del file come allegato non avviene perchè il file non è più trovato come posso fare per evitare che ciò accada?


    grazie

  2. #2
    il punto sta nel metodo che usi per fare l'invio: normalmente quando richiami una funzione lei ritorna al comando successivo nel tuo codice solo quando ha eseguito il compito assegnatole, quindi quando ha già inviato; evidentemente stai usando un metodo di invio della mail che non si comporta così...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #3
    Grazie per il tuo pronto intervento.

    Io sto usando il metodo
    .....
    .AddAttachment (cartella & "\" & nomefile)
    .Send
    .....

  4. #4
    Di che oggetto? ASP di per se non ha un oggetto per inviare email, che cosa stai usando?

    Controlla che la Send non abbia un qualche parametro che decida se ritornare subito o quando l'invio è stato fatto.

    Una possibilità ulteriore è quello di fare l'eliminazione in un momento successivo: supponi di segnarti in sessione quale è il file da eliminare, al prossimo caricamento di pagina lo elimini...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #5
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    non so se Shores potrà darti una soluzione migliore...

    il problema lo risolsi vacendo un redirect ad un fle per la cancellazione.
    in quanto la velocità di esecuzione dello script impediva appunto di trovare l'allegato

  6. #6
    Ok ragazzi, grazie ai vostri suggerimenti sono riuscito nell'intento.

    Ora però vi chiedo:
    Siccome l'eliminazione di un file è un'operazione importante, vorrei che fosse eseguita solo se effettivamente l'invio dell'allegato è realmente avvenuto ed in maniera corretta.

    Sapete darmi qualche suggerimento a tal riguardo?

    Il codice che ho usata è il seguente:

    file = Server.MapPath("/public/file.htm")
    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields
    Flds(cdoSendUsingMethod) = cdoSendUsingPort
    Flds(cdoSMTPServer) = "smtp.dominio.it"
    Flds(cdoSMTPServerPort) = 25
    Flds(cdoSMTPAuthenticate) = cdoAnonymous
    Flds.Update
    With iMsg
    Set .Configuration = iConf
    .To = xxxx@libero.it
    .From = xxxxx@libero.it
    .Sender = xxxxx@libero.it
    .Subject = "prova invio"
    .TextBody = "prova invio"
    .AddAttachment (file)
    .Send
    End With

    Set Fso = Server.CreateObject ("Scripting.FileSystemObject")
    Fso.DeleteFile ("/public/file.htm")

  7. #7
    Semplicemente, il metodo Send dovrebbe restituirti un valore vero/falso a seconda che l'invio sia riuscito o meno.

    Nota che, però, per come sono fatte le email, aver avuto conferma dell'invio del server SMTP NON GARANTISCE AFFATTO che la mail venga realmente consegnata, quindi se la tua necessità è che devi essere sicuro che l'utente abbia ricevuto il file prima di eliminarlo, non è questa la soluzione!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  8. #8
    Grazie Shores per tutti i tuoi interventi.

    Ti chiedo come faccio a rilevare il valore True o false restituito da .Send e se tu avresti qualche idea alternativa da suggerirmi.

    Grazie

  9. #9
    invece di avere:

    .Send
    endwith

    fai

    endwith
    if imsg.send then
    ;qui elimini il file
    endif
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  10. #10
    Purtroppo il tuo suggerimento questa volta non da buoni esiti.

    Praticamente non accade nulla

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.