Answers:
运行以下语句:
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;
}
这基本上绕过了验证过程。
您没有指定要使用的Magento版本,但我假设它是<CE 1.9.1.0或<EE 1.14.1.0。在这种情况下,解决方案是将Magento升级到CE 1.9.1.0。
Magento使用Zend Framework(或更具体而言:class 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
。
话虽如此,当前版本的Magento中还不支持其他顶级域。在尚未包括的Zend Framework 1.12.10中,对主机名验证进行了另一次更新,增加了许多新地址。
你可以:
lib/Zend/Validate/Hostname.php
到app/code/local/Zend/Validate/Hostname.php
$_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个字符的域。