Magento在Gmail上配置电子邮件

时间:2013-11-25 12:04:44

标签: magento email ssl smtp gmail

我已配置 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 之外的其他地方?

2 个答案:

答案 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