Alamat email "[email protected]" tidak valid

13

Hai saya membeli nama domain mewah baru ini dan sekarang saya dalam masalah. Saya mencoba untuk mengaturnya ke alamat email toko di admin Magento. Dan mendapat kesalahan di atas. Apa yang saya lakukan?

(Saya juga berusaha mengubahnya di DB. Tapi saya tidak dapat menemukan tabel yang menahannya)

Moe Manis
sumber

Jawaban:

4

Jalankan pernyataan berikut:

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

Anda pada dasarnya dapat mengedit nilai di sana. Yang utama yang ingin Anda lihat adalah:

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

PS

Saya tidak mendapatkan kesalahan ketika memvalidasi alamat email itu di 1.7.0.2, Anda bisa mencoba penggantian lokal dari Model berikut:

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

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

untuk

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

Ini pada dasarnya mem-bypass proses validasi.

Moose
sumber
21

Anda tidak menentukan versi Magento yang Anda gunakan, tetapi saya berasumsi itu <CE 1.9.1.0 atau <EE 1.14.1.0. Dalam hal ini solusinya adalah memutakhirkan Magento ke CE 1.9.1.0 .

Magento menggunakan Zend Framework (atau lebih spesifik: kelas Zend_Validate_Hostname ) untuk memvalidasi domain tingkat atas.

Pada CE 1.9.0.0 dan versi EE yang sesuai, Magento menggunakan Zend Framework 1.12.3. Versi ini tidak mendukung domain tingkat atas yang baru. Karena itu validasi di frontend dan backend gagal.

Pada CE 1.9.1.0 dan EE 1.14.1.0, Magento memperbarui Zend Framework ke 1.12.7. Versi ini mengimplementasikan beberapa domain tingkat atas baru, salah satunya adalah .florist.

Karena itu, ada juga domain tingkat atas lainnya yang saat ini tidak didukung di versi Magento saat ini . Di Zend Framework 1.12.10 yang belum termasuk, ada pembaruan validasi nama host lainnya yang menambahkan banyak alamat baru.

Anda bisa:

  • salin lib/Zend/Validate/Hostname.phpkeapp/code/local/Zend/Validate/Hostname.php
  • dapatkan file Zend_Validate_Hostname mulai 2014/10/24 (terlalu lama untuk menyalin file jadi silakan buka GitHub),
  • salin $_validTldsvariabel dari versi yang dihosting GitHub ke Hostname.php dan
  • menggantikan

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

    dengan

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

Ini akan memungkinkan domain tingkat atas baru, termasuk yang lebih dari 10 karakter.

Matthias Zeis
sumber
karena ini diselesaikan dengan pembaruan, saya akan langsung mengubah file alih-alih menyalin kelas ke dalam codepool (hanya menyebabkan melupakan ini dan mendapatkan masalah setelah pembaruan itu)
Flyingmana
Apakah Anda memiliki konfirmasi bahwa akan ada pembaruan ke 1.12.10? Jika ya maka saya setuju.
Matthias Zeis
Masih dalam 1.9.2.4 ini belum diperbarui ..
Erfan