Nieprawidłowy adres e-mail „[email protected]

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)

Moe Sweet
źródło

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.

Łoś
źródło
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.

Matthias Zeis
źródło
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,