Неверный адрес электронной почты «admin@eternal.florist»

13

Привет, я купил это новое модное доменное имя и теперь у меня проблемы. Я пытался установить это в адреса электронной почты магазина в админке Magento. И получил вышеуказанную ошибку. Что мне делать?

(Я также попытался изменить его в БД. Но я не могу найти таблицу, в которой он находится)

Мо сладкий
источник

Ответы:

4

Запустите следующее утверждение:

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

Вы можете в основном редактировать значения там. Основные из них вы хотите посмотреть:

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

PS

Я не получаю сообщение об ошибке при проверке этого адреса электронной почты в 1.7.0.2, вы можете попробовать локальное переопределение следующей модели:

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

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;
}

Это в основном обходит процесс проверки.

лось
источник
21

Вы не указали, какую версию Magento вы используете, но я предполагаю, что это <CE 1.9.1.0 или <EE 1.14.1.0. В этом случае решение состоит в том, чтобы обновить Magento до CE 1.9.1.0 .

Magento использует Zend Framework (или более конкретно: класс Zend_Validate_Hostname) для проверки домена верхнего уровня.

В CE 1.9.0.0 и соответствующей версии EE Magento использовала Zend Framework 1.12.3. Эта версия не поддерживает новые домены верхнего уровня. Из-за этого проверки как во внешнем, так и во внутреннем интерфейсе не выполняются.

В CE 1.9.1.0 и EE 1.14.1.0 Magento обновил Zend Framework до 1.12.7. В этой версии реализовано несколько новых доменов верхнего уровня, одним из которых является .florist.

Тем не менее, есть и другие домены верхнего уровня, которые в настоящее время не поддерживаются в текущей версии Magento . В Zend Framework 1.12.10, который еще не включен, было еще одно обновление проверки имени хоста, добавив много новых адресов.

Вы могли бы:

  • копия lib/Zend/Validate/Hostname.php вapp/code/local/Zend/Validate/Hostname.php
  • получить файл Zend_Validate_Hostname от 2014/10/24 (копировать файл очень долго, поэтому, пожалуйста, перейдите на GitHub),
  • скопируйте $_validTldsпеременную из версии, размещенной на GitHub, в свойHostname.php и
  • замещать

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

    с

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

Это позволит создавать новые домены верхнего уровня, в том числе длиной более 10 символов.

Матиас Цейс
источник
так как это решается обновлением, я бы напрямую изменил файл вместо того, чтобы скопировать класс в пул кодов (это приводит только к тому, что об этом забывают, а затем возникают проблемы после обновления)
Flyingmana
У вас есть подтверждение, что будет обновление до 1.12.10? Если да, то я согласен.
Матиас Зейс
Все еще в 1.9.2.4 это не было обновлено ..
Эрфан