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

    Invio newsletter va in errore quando l'email non è corretta

    Ciao ragazzi,
    come faccio a evitare che l'invio di una newsletter si blocchi se incontra un indirizzo email non corretto?
    Ho pensato che posso usare un try cacth, ma non saprei come impostare il codice in maniera corretta.
    Il codice è molto semplice, faccio una query, un ciclo e invio l'email ad un indirizzo alla volta.

    Grazie mille

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    nel catch, se l'errore è quello (indirizzo email inesistente), richiami la stessa Sub partendo dal successivo indirizzo ?

  3. #3
    Ok, vediamo se ho capito bene:

    Al click del pulsante parte una sub associata al pulsante.
    All'interno di questa sub devo predisporre una chiamata ad un'altra Sub passandomi un parametro numerico che corrisponde all'ID, quindi la prima volta sarà così:
    Invia(1)

    Nel
    Catch ex As Exception

    Invia(ultimoid + 1)

    end try

    giusto?

    Grazie mille

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    C'e' un altro modo, l'istruzione "continue".
    http://msdn.microsoft.com/it-it/libr...=vs.71%29.aspx (c'è anche in VB.Net)

    Scusa, quello suggerito prima in pratica è il 'continue' fatto a mano

  5. #5
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Ma al posto di usare il continue ....

    Immagino avrai un loop

    codice:
    Foreach email in lista
    
      Try
         invia(email.id)
      Catch ex As Exception
         //non metti nulla, o al massimo aggiungi un log 
      End try
    
    next
    In questo modo invia tuto l'inviabile e puoi salvarti se vuoi le email che sono andate in errore

  6. #6
    ho dato un occhiata al continue, ma mi pare di capire che esiste solo in C#, vedendo in VB.NET non trovo questa istruzione di spostamento.

    Alla fine però facendolo a mano come mi hai suggerito ha funzionato alla grande! ;-)

    Per URANIO, penso che così facendo si interrompe nel momento in cui non riesce a mandare perchè va in errore l'email e mi stampa l'ex.message.

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da zetaweb
    Alla fine però facendolo a mano come mi hai suggerito ha funzionato alla grande! ;-)
    Ok pero' salvati in un array quelle fallite...

    cmq:
    codice:
       For Each i As Integer In <qualcosa>
            If i = 5 Then Continue For
       Next

  8. #8
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    Per URANIO, penso che così facendo si interrompe nel momento in cui non riesce a mandare perchè va in errore l'email e mi stampa l'ex.message.
    ma no..quando sbaglia termina e passa alla successiva email ....
    fai una prova.

    ciao

  9. #9
    scusami non ho capito come usare il continue...
    io ho un do while per il ciclo

    codice:
            Try
    
                Do While MYDR3.Read
                       ' qui invio l'email
                Loop
    
            Catch ex As Exception
                    ' ma se metto qui il continue mi dà errore...
            End Try

  10. #10
    Ciao Franz78
    ho appena provato come dici tu e ti confermo che senza mettere nulla nel try catch non continua con l'invio, ma si interrompe senza dare errore e senza inviare tutte le email successive.

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.