我已配置 app / code / core / Mage / Core / Model / Email / Template.php :
$config = array(
'ssl' => 'tls',
'port' => Mage::getStoreConfig('system/smtp/port'), // it is set to 25
'auth' => 'login',
'username' => 'email@gmail.com',
'name' => Mage::getStoreConfig('system/smtp/host'), // it is set to smtp.gmail.com
'password' => 'password'
);
但我仍然得到例外:
无法发送邮件。 mail():SMTP服务器响应:530 5.7.0必须首先发出STARTTLS命令
我还需要做哪些更改才能使其正常工作?除了 app / code / core / Mage / Core / Model / Email / Template.php 之外的其他地方?
答案 0 :(得分:3)
描述的配置功能正常,用于查看脚本中的更改需要关闭Magento编译器的clean / includes /文件夹。
支持Google Gmail或Google Apps的电子邮件功能已更改:
1个副本文件“ app / code / core / Mage / Core / Model / Email / Template.php ”至“ app / code / local / Mage / Core / Model / Email /Template.php“
2在文件app / code / local / Mage / Core / Model / Email / Template.php 更改功能:
public function getMail()
{
if (is_null($this->_mail)) {
$my_smtp_host = Mage::getStoreConfig('system/smtp/host');
$my_smtp_port = Mage::getStoreConfig('system/smtp/port');
$config = array(
'port' => $my_smtp_port,
'auth' => 'login',
'ssl' => 'tls',
'username' => 'youremail@gmail.com',
'password' => 'Abc'
);
$transport = new Zend_Mail_Transport_Smtp($my_smtp_host,$config);
Zend_Mail::setDefaultTransport($transport);
$this->_mail = new Zend_Mail('utf-8');
}
return $this->_mail;
}
禁用编译器,重命名文件夹/ includes / in magento root并清除缓存
答案 1 :(得分:2)
你不应该改变核心。
而是创建一个自定义模块,看看@ Use any SMTP to send mail in Magento
查看Send email in magento using your GMail or Google Apps account