Dirección de correo electrónico no válida "[email protected]"

13

Hola, compré este nuevo nombre de dominio elegante y ahora estoy en problemas. Estaba tratando de configurar eso en las direcciones de correo electrónico de la tienda en el administrador de Magento. Y obtuve el error anterior. ¿Qué debo hacer?

(También intenté cambiarlo en la base de datos. Pero no puedo encontrar la tabla que lo contiene)

Moe Sweet
fuente

Respuestas:

4

Ejecute la siguiente declaración:

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

Básicamente, puede editar los valores allí. Los principales que querrás ver son:

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

PD

No obtengo un error al validar esa dirección de correo electrónico en 1.7.0.2, podría intentar una anulación local del siguiente Modelo:

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

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

a

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

Esto básicamente pasa por alto el proceso de validación.

Alce
fuente
21

No especificó qué versión de Magento está utilizando, pero supongo que es <CE 1.9.1.0 o <EE 1.14.1.0. En este caso, la solución es actualizar Magento a CE 1.9.1.0 .

Magento usa Zend Framework (o más específicamente: la clase Zend_Validate_Hostname) para validar el dominio de nivel superior.

En CE 1.9.0.0 y la versión EE correspondiente, Magento utilizó Zend Framework 1.12.3. Esta versión no era compatible con los nuevos dominios de nivel superior. Debido a esto, las validaciones tanto en el frontend como en el backend fallan.

En CE 1.9.1.0 y EE 1.14.1.0, Magento actualizó Zend Framework a 1.12.7. Esta versión implementa varios dominios nuevos de nivel superior, uno de ellos es .florist.

Dicho esto, también hay otros dominios de nivel superior que actualmente no son compatibles con la versión actual de Magento . En Zend Framework 1.12.10, que aún no está incluido, hubo otra actualización de la validación del nombre de host agregando muchas direcciones nuevas.

Tú podrías:

  • copiar lib/Zend/Validate/Hostname.phpaapp/code/local/Zend/Validate/Hostname.php
  • obtenga el archivo Zend_Validate_Hostname del 24/10/2014 (es demasiado largo para copiar el archivo, así que vaya a GitHub),
  • copie la $_validTldsvariable de la versión alojada en GitHub a su Hostname.php y
  • reemplazar

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

    con

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

Esto permitirá nuevos dominios de nivel superior, incluidos los que tengan más de 10 caracteres.

Matthias Zeis
fuente
a medida que esto se resuelve mediante una actualización, cambiaría directamente el archivo en lugar de copiar la clase en un conjunto de códigos (solo hace que se olvide esto y tenga problemas después de la actualización)
Flyingmana
¿Tiene una confirmación de que habrá una actualización a 1.12.10? Si es así, estoy de acuerdo.
Matthias Zeis
Todavía en 1.9.2.4 esto no se ha actualizado ..
Erfan