Pagina 21 di 26 primaprima ... 11 19 20 21 22 23 ... ultimoultimo
Visualizzazione dei risultati da 201 a 210 su 255
  1. #201
    lostinflower,
    posso condividere con te, che lasciare apostrofi all'interno di indirizzi email non è assolutamente opportuno in particolare in termini di programmazione, ma purtroppo esistono, e se esistono evidentemente sono sonsentiti, il mio problema adesso è come gestirli.

  2. #202
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da newbobotime
    lostinflower,
    posso condividere con te, che lasciare apostrofi all'interno di indirizzi email non è assolutamente opportuno in particolare in termini di programmazione, ma purtroppo esistono, e se esistono evidentemente sono sonsentiti, il mio problema adesso è come gestirli.
    Sei sicuro che esistano? mi sembra molto strano anche se effettivamente non posso dire di esserne sicuro al 100%.

  3. #203
    Ricompaio in questo mio vecchio post per dire a sorpresa (anche mia) che

    newbobotime ha ragione.

    Ho controllato e le specifiche rfc2822 permettono esplicitamente l'utilizzo dell'apostrofo nella prima parte dell'indirizzo. La seconda rappresenta il DNS che invece non lo ammette.

    http://www.ietf.org/rfc/rfc2822.txt

    Questo mi stupisce e tra l'altro dovremmo tutti rivedere le classiche espressioni regolari che utilizziamo per validare gli indirizzi email.

    Per il tuo problema... non lo so. Ma mi riprometto di guardarci appena ho tempo.

    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  4. #204
    Validare email tramite regexp e' una cosa ai limiti dell'impossibile, specialmente se si vogliono evitare falsi negativi (cioe' indirizzi validi scartati).

    Una migliore soluzione e' usare filter_var(), esempio:
    codice:
    filter_var('bob@example.com', FILTER_VALIDATE_EMAIL);
    ma non so se anche questa genera falsi negativi, e comunque l'unico vero modo per essere sicuri che un indirizzo esista... e' provare a inviare una mail.

    Consiglio una lettura di questo breve articolo: http://henry.precheur.org/code/validating_emails facendo particolare attenzione al fatto che i seguenti indirizzi sono VALIDI:

    codice:
    "first@last"@iana.org
    "first\\last"@iana.org
    ""@iana.org
    (foo)cal(bar)@(baz)iamcal.com(quux)
    first.last@[IPv6:a1:]
    first(Welcome to␍␊ the ("wonderful" (!)) world␍␊ of email)@iana.org

  5. #205
    Infatti k.b, FILTER_VALIDATE_EMAIL è sicuramenente la più indicata per validare email address, ma forse ti sei dimenticato che è stata introdotta con la vers. di PHP 5.2 ed il server in questione purtroppo gira con la vers. PHP 5.1.6. questo l'autore della classe PHPmailer ovviamente lo sapeva e come puoi notare (func della classe sotto riportato) l'utilizza.

    Tra l'altro come potete notare in caso non fosse presente XLI.Filter Functions ( in caso appunto di vers. precedente ) cerca di validarlo con l'espressione regolare tenendo già conto dell'apostofo (singolo apice) nella prima parte dell'indirizzo, per capirci prima della @ [\\']

    Personalmente ho l'impressione che il problema sia altrove, continuo l'analisi il primo che riesce a capire per cortesia ci faccia sapere.

    codice:
    public static function ValidateAddress($address) {
        if (function_exists('filter_var')) { //Introduced in PHP 5.2
          if(filter_var($address, FILTER_VALIDATE_EMAIL) === FALSE) {
            return false;
          } else {
            return true;
          }
        } else {
          return preg_match('/^(?:[\w\!\#\$\%\&\\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $address);
        }
      }

    .

  6. #206
    Mi rispondo da solo, mi stà venendo un dubbio;
    Forse è il caso d'intervenire sui metacaratteri dell'espressione ?

    l'apostrofo (ovvero il carattere ' ) preceduto da blackslash probabilmente non funziona nell'espressione della classe, potrebbe essere racchiuso in qualche modo tra tonde (') ?

    Solo che non riesco a capire come.

    In qualsiasi modo ci provo viene evidenziato un errore nella convalida del codice.


    .

  7. #207
    Io rimango del parere che tentare di validare un indirizzo email sia un compito del tutto inutile. Se e' cruciale avere un indirizzo valido, si invia una mail di verifica come fanno tutti i sistemi di registrazione.

  8. #208
    Originariamente inviato da k.b
    si invia una mail di verifica come fanno tutti i sistemi di registrazione.
    k.b,
    perdona la mia ignoranza, ma come funzionano i sistemi di registrazione che hai citato ?

    Io con phpmailer.class mi trovo bene, l'unico problema che mi si è presentato dopo svariato tempo che utilizzo la classe è questo benedetto apostrofo, mi basterebbe risolvere questo.



    .

  9. #209
    Originariamente inviato da newbobotime
    k.b,
    perdona la mia ignoranza, ma come funzionano i sistemi di registrazione che hai citato ?
    Hai presente tutti i forum del mondo? Ecco, quelli mica stanno li' a validare l'email: tu la inserisci e loro ti mandano un messaggio. Se rispondi la mail e' valida e ti attivano, se non rispondi niente registrazione.

  10. #210
    Scusa, non ti sembra il caso di considerare in che contesto utilizzi la classe ?

    Non stò a descrivere il processo in cui l'utilizzo io, ma trovo che sia cmq importante bloccare lo script nel caso l'utente commetta errori grossolani di digitazione relativi al costrutto dell'indirizzo.

    Essendo una web application di una intranet aziendale, continuano ad arrivarmi messaggi di mancato recapito da parte del mailserver.
    Sinceramente quando possibile ( anche in minima parte ) preferirei bloccare quelli che la validazione poteva evitare, evitando d'intassare inutilmente la mailbox interessata, con messaggi 550 Host unknown.


    .

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.