IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

sfValidatorEmail VS swiftMailer


Sujet :

Symfony PHP

  1. #1
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 420
    Points : 1 471
    Points
    1 471
    Par défaut sfValidatorEmail VS swiftMailer
    Bonsoir tout le monde.

    Lors de l'envoi d'un email via swiftmailer, j'ai droit à une Swift_RfcComplianceException. Le mail incriminé contenant une virgule (example,test@mondomaine.fr) c'est plutôt normal.

    Le problème, c'est que le sfValidatorEmail ne retourne aucune erreur et valide ce genre de mail sans sourciller.

    Ma question est donc double :
    1. Comment améliorer proprement les tests des emails ?
    2. Pourquoi, alors que SwiftMailer est directement inclus dans symfony, sfValidatorEmail n'utilise pas le même test de mail ?

  2. #2
    Membre éclairé Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Points : 816
    Points
    816
    Par défaut
    Bonsoir,

    Pour ça il faut juste de que tu as crée un nouveau validator avec tes propres règles de contrôle.

    sfValidatorEmail est un validateur général pour passer dans tous les pays donc test le minimum.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 420
    Points : 1 471
    Points
    1 471
    Par défaut
    En me basant sur cette page: http://tools.ietf.org/html/rfc3696

    Je cite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Without quotes, local-parts may consist of any combination of
       alphabetic characters, digits, or any of the special characters
    
          ! # $ % & ' * + - / = ?  ^ _ ` . { | } ~
    
       period (".") may also appear, but may not be used to start or end the
       local part, nor may two or more consecutive periods appear.  Stated
       differently, any ASCII graphic (printing) character other than the at-sign ("@"), backslash, double quote, comma, or square brackets may
       appear without quoting.  If any of that list of excluded characters
       are to appear, they must be quoted.
    Soit j'ai pas compris, soit la virgule tel que mise dans mon exemple ne peut pas être valide et ne devrait pas être acceptée par un validateur email, aussi générique soit-il non ?

  4. #4
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class sfValidatorEmail extends sfValidatorRegex
    {
      const REGEX_EMAIL = '/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i';
     
      /**
       * @see sfValidatorRegex
       */
      protected function configure($options = array(), $messages = array())
      {
        parent::configure($options, $messages);
     
        $this->setOption('pattern', self::REGEX_EMAIL);
      }
    }
    Si tu veux améliorer le comportement, il suffit comme le signale kenny.kev d'en créer un nouveau et d'y placer une regex qui convient mieux à tes besoins. Ou, plus simplement, de modifier l'option 'pattern' dans la méthode configure() de ton formulaire.

Discussions similaires

  1. [1.x] Configuration SwiftMailer avec Gmail
    Par blasil64 dans le forum Symfony
    Réponses: 9
    Dernier message: 29/10/2010, 15h12
  2. [PHP 5.2] envoyer une newsletters avec swiftmailer
    Par gtraxx dans le forum Langage
    Réponses: 0
    Dernier message: 26/02/2010, 08h57
  3. [1.x] Insérer une image dans un mail swiftMailer
    Par blasil64 dans le forum Symfony
    Réponses: 1
    Dernier message: 23/02/2010, 09h56
  4. [1.x] Problème avec les partials et SwiftMailer
    Par noreaga10 dans le forum Symfony
    Réponses: 6
    Dernier message: 21/01/2010, 15h31
  5. [swiftmailer] Le return-path n'est pas pris en compte
    Par sami_c dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 03/08/2008, 12h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo