Địa chỉ email không hợp lệ, có tên là admin admin@eternal.florist


13

Xin chào Tôi đã mua tên miền ưa thích mới này và bây giờ tôi đang gặp rắc rối. Tôi đã cố gắng đặt nó vào địa chỉ email lưu trữ trong quản trị viên Magento. Và đã nhận được lỗi trên. Tôi làm gì?

(Tôi cũng đã cố gắng thay đổi nó trong DB. Nhưng tôi không thể tìm thấy cái bàn giữ nó)

Câu trả lời:


4

Chạy câu lệnh sau:

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

Về cơ bản bạn có thể chỉnh sửa các giá trị ở đó. Những cái chính bạn sẽ muốn xem xét là:

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

PS

Tôi không gặp lỗi khi xác thực địa chỉ email đó trong 1.7.0.2, bạn có thể thử ghi đè cục bộ của Mô hình sau:

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

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

đến

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

Điều này về cơ bản bỏ qua quá trình xác nhận.


21

Bạn đã không chỉ định phiên bản Magento nào bạn đang sử dụng nhưng tôi giả sử đó là <CE 1.9.1.0 hoặc <EE 1.14.1.0. Trong trường hợp này, giải pháp là nâng cấp Magento lên CE 1.9.1.0 .

Magento sử dụng Zend Framework (hoặc cụ thể hơn: lớp Zend_Validate_Hostname) để xác thực tên miền cấp cao nhất.

Trong CE 1.9.0.0 và phiên bản EE tương ứng, Magento đã sử dụng Zend Framework 1.12.3. Phiên bản này không hỗ trợ các tên miền cấp cao mới. Bởi vì điều này các xác nhận cả trong frontend và backend đều thất bại.

Trong CE 1.9.1.0 và EE 1.14.1.0, Magento đã cập nhật Zend Framework thành 1.12.7. Phiên bản này thực hiện một số tên miền cấp cao mới, một trong số đó là .florist.

Phải nói rằng, cũng có những tên miền cấp cao khác hiện không được hỗ trợ trong phiên bản hiện tại của Magento . Trong Zend Framework 1.12.10 chưa được bao gồm, đã có một bản cập nhật khác về xác thực tên máy chủ thêm nhiều địa chỉ mới.

Bạn có thể:

  • sao chép lib/Zend/Validate/Hostname.phpvàoapp/code/local/Zend/Validate/Hostname.php
  • lấy tệp Zend_Validate_hostname từ 2014/10/24 (để sao chép tệp vì vậy vui lòng truy cập GitHub),
  • sao chép $_validTldsbiến từ phiên bản được lưu trữ trên GitHub sang của bạn Hostname.php
  • thay thế

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

    với

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

Điều này sẽ cho phép các tên miền cấp cao mới, bao gồm các tên miền dài hơn 10 ký tự.


vì điều này được giải quyết bằng một bản cập nhật, tôi sẽ trực tiếp thay đổi tệp thay vì sao chép lớp vào một bộ mã (nguyên nhân chỉ để quên điều này và gặp sự cố sau khi cập nhật)
Flyingmana

Bạn có xác nhận rằng sẽ có bản cập nhật lên 1.12.10 không? Nếu có thì tôi đồng ý.
Matthias Zeis

Vẫn trong 1.9.2.4, điều này chưa được cập nhật ..
Erfan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.