잘못된 이메일 주소“admin@eternal.florist”


13

안녕하세요, 저는이 새롭고 멋진 도메인 이름을 샀습니다. Magento 관리자의 전자 메일 주소를 저장하도록 설정하려고했습니다. 그리고 위의 오류가 발생했습니다. 어떻게해야합니까?

(또한 DB에서 변경하려고 시도했지만 테이블을 보유하고있는 테이블을 찾을 수 없습니다)

답변:


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

추신

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입니다.

도있다, 그런 말로 미루어 보아, 현재 젠토의 현재 버전에서 지원되지 않는 다른 최상위 도메인 . 아직 포함되지 않은 Zend Framework 1.12.10에는 많은 새 주소를 추가하는 호스트 이름 유효성 검사의 또 다른 업데이트가있었습니다.

당신은 할 수 있습니다 :

  • 복사 lib/Zend/Validate/Hostname.phpapp/code/local/Zend/Validate/Hostname.php
  • 2014/10/24에서 Zend_Validate_Hostname 파일을 가져옵니다 (파일 을 복사하는 데 시간이 오래 걸리므 로 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으로 업데이트 될 것임을 확인 했습니까? 그렇다면 동의합니다.
Matthias Zeis

여전히 1.9.2.4에서 이것은 업데이트되지 않았습니다.
Erfan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.