Adresse e-mail non valide "[email protected]"

13

Salut, j'ai acheté ce nouveau nom de domaine de fantaisie et maintenant je suis en difficulté. J'essayais de définir cela dans les adresses e-mail du magasin dans l'administrateur Magento. Et obtenu l'erreur ci-dessus. Que fais-je?

(J'ai également essayé de le changer dans la base de données. Mais je ne trouve pas la table qui le tient)

Moe Sweet
la source

Réponses:

4

Exécutez l'instruction suivante:

SELECT * 
FROM  `core_config_data` 
WHERE  `path` LIKE  '%email%'
LIMIT 0 , 30

Vous pouvez essentiellement y éditer les valeurs. Les principaux que vous voudrez examiner sont:

  • trans_email/ident_general/email,
  • trans_email/ident_salse/email, et
  • trans_email/ident_support/email

PS

Je ne reçois pas d'erreur lors de la validation de cette adresse e-mail dans 1.7.0.2, vous pouvez essayer une substitution locale du modèle suivant:

app/code/core/Mage/Adminhtml/Model/System/Config/backend/Email/Address.php de:

protected function _beforeSave()
{
    $value = $this->getValue();
    if (!Zend_Validate::is($value, 'EmailAddress')) {
        Mage::throwException(Mage::helper('adminhtml')->__('Invalid email address "%s".', $value));
    }
    return $this;
}

à

protected function _beforeSave()
{
    $value = $this->getValue();
    /*if (!Zend_Validate::is($value, 'EmailAddress')) {
        Mage::throwException(Mage::helper('adminhtml')->__('Invalid email address "%s".', $value));
    }*/
    return $this;
}

Cela contourne essentiellement le processus de validation.

élan
la source
21

Vous n'avez pas spécifié la version de Magento que vous utilisez, mais je suppose que c'est <CE 1.9.1.0 ou <EE 1.14.1.0. Dans ce cas, la solution consiste à mettre à niveau Magento vers CE 1.9.1.0 .

Magento utilise Zend Framework (ou plus spécifique: la classe Zend_Validate_Hostname) pour valider le domaine de premier niveau.

Dans CE 1.9.0.0 et la version EE correspondante, Magento a utilisé Zend Framework 1.12.3. Cette version ne prend pas en charge les nouveaux domaines de premier niveau. De ce fait, les validations en front-end et en back-end échouent.

Dans CE 1.9.1.0 et EE 1.14.1.0, Magento a mis à jour Zend Framework vers 1.12.7. Cette version implémente plusieurs nouveaux domaines de premier niveau, l'un d'eux étant .florist.

Cela dit, il existe également d' autres domaines de premier niveau actuellement non pris en charge dans la version actuelle de Magento . Dans Zend Framework 1.12.10 qui n'est pas encore inclus, il y a eu une autre mise à jour de la validation du nom d'hôte en ajoutant de nombreuses nouvelles adresses.

Vous pourriez:

  • copier lib/Zend/Validate/Hostname.phpversapp/code/local/Zend/Validate/Hostname.php
  • récupérez le fichier Zend_Validate_Hostname du 24/10/2014 (c'est trop long pour copier le fichier donc allez sur GitHub),
  • copiez la $_validTldsvariable de la version hébergée par GitHub dans votre Hostname.php et
  • remplacer

    // First check TLD
    $matches = array();
    if (preg_match('/([^.]{2,10})$/i', end($domainParts), $matches) ||

    avec

    // First check TLD
    $matches = array();
    if (preg_match('/([^.]{2,63})$/i', end($domainParts), $matches) ||

Cela permettra de nouveaux domaines de premier niveau, y compris ceux qui dépassent 10 caractères.

Matthias Zeis
la source
comme cela est résolu par une mise à jour, je changerais directement le fichier au lieu de copier la classe dans un pool de codes (ne fait que l'oublier et obtenir des problèmes après la mise à jour)
Flyingmana
Avez-vous une confirmation qu'il y aura une mise à jour vers 1.12.10? Si oui, je suis d'accord.
Matthias Zeis
Toujours en 1.9.2.4 cela n'a pas été mis à jour ..
Erfan