Nieprawidłowy adres e-mail „admin@eternal.florist”


13

Cześć. Kupiłem tę nową fantazyjną nazwę domeny i teraz mam kłopoty. Próbowałem ustawić to, aby przechowywać adresy e-mail w Magento admin. I otrzymałem powyższy błąd. Co ja robię?

(Próbowałem również zmienić to w DB. Ale nie mogę znaleźć tabeli, która to trzyma)

Odpowiedzi:


4

Uruchom następującą instrukcję:

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

Możesz w zasadzie edytować tam wartości. Główne, na które chcesz spojrzeć, to:

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

PS

Nie pojawia się błąd podczas sprawdzania poprawności tego adresu e-mail w wersji 1.7.0.2, możesz spróbować zastąpić lokalnie następujący model:

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

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

do

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

Zasadniczo omija to proces sprawdzania poprawności.


21

Nie określiłeś, której wersji Magento używasz, ale zakładam, że <CE 1.9.1.0 lub <EE 1.14.1.0. W takim przypadku rozwiązaniem jest aktualizacja Magento do CE 1.9.1.0 .

Magento używa Zend Framework (lub bardziej konkretnie: klasy Zend_Validate_Hostname) do sprawdzania poprawności domeny najwyższego poziomu.

W CE 1.9.0.0 i odpowiedniej wersji EE Magento używał Zend Framework 1.12.3. Ta wersja nie obsługiwała nowych domen najwyższego poziomu. Z tego powodu sprawdzanie poprawności zarówno frontendu, jak i backendu kończy się niepowodzeniem.

W CE 1.9.1.0 i EE 1.14.1.0 Magento zaktualizowało Zend Framework do 1.12.7. Ta wersja implementuje kilka nowych domen najwyższego poziomu, z których jedną jest .florist.

To powiedziawszy, istnieją również inne domeny najwyższego poziomu , które nie są obecnie obsługiwane w obecnej wersji Magento . W Zend Framework 1.12.10, który nie został jeszcze uwzględniony, wprowadzono kolejną aktualizację sprawdzania poprawności nazwy hosta, dodając wiele nowych adresów.

Mógłbyś:

  • skopiuj lib/Zend/Validate/Hostname.phpdoapp/code/local/Zend/Validate/Hostname.php
  • pobierz plik Zend_Validate_Hostname z 24.10.2014 (skopiowanie pliku jest zbyt długie, więc przejdź do GitHub),
  • skopiuj $_validTldszmienną z wersji hostowanej na GitHub do Hostname.php i
  • zastąpić

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

    z

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

Pozwoli to na nowe domeny najwyższego poziomu, w tym te, które mają więcej niż 10 znaków.


ponieważ problem został rozwiązany przez aktualizację, chciałbym bezpośrednio zmienić plik zamiast kopiować klasę do puli kodów (powoduje to tylko zapomnienie i problemy po aktualizacji)
Flyingmana

Czy masz potwierdzenie, że nastąpi aktualizacja do wersji 1.12.10? Jeśli tak, to zgadzam się.
Matthias Zeis,

Jeszcze w 1.9.2.4 nie zostało to zaktualizowane.
Erfan,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.