您的位置:网站主页> Magento教程 > Magento使用Gmail SMTP发送邮件

Magento使用Gmail SMTP发送邮件

时间:2018-03-27 21:37:01   编辑:一切随缘   文章来源:php教程网 已阅读:640 次

编程入门教程[www.ask186.com]网站介绍 

    编程入门教程主要涉及WEB开发领域,主要为广大WEB开发人员提供最新的WEB开发资讯信息,包含php教程mysql教程php面试题在线调色板php学习以及常用( Amazon ApiGoogle Api)等API、爱问资源共享HTML转JS不显示xml...[详细]
广告投放: 编程入门教程:www.ask186.com 电话:15818865556

        Magento使用Gmail SMTP发送邮件

        用gmail smtp server代替magento内置的sendmail,这么做的好处是用gmail sent mail log all emails sent out by magento。gmail smtp server是我所知的唯一一个能记录发送邮件的smtp服务器(感谢google)。

        Magento默认使用MTA发送邮件,后台configuration可以设置使用smtp发送邮件,但仅限于未使用ssl的smtp服务器,看来只能修改程序才能让Magento用上gmail ssl smtp server了。

        似乎有很多人有这个想法但无法成功完成程序的修改。我参照了Use any smtp to send email (even gmail)的代码,但发现它无法连接gmail smtp server (可能以前可以,但gmail smtp server改了设置?)。

        经我修改,在magento 1.1.8版测试可行的代码方案是:

        修改/app/code/core/Mage/Core/Model/Email/Template.php,

         找到public function send($email, $name=null, array $variables = array()),删掉此函数中最后几句:

        try {
        $mail->send(); // Zend_Mail warning..
        $this->_mail = null;
        }
        catch (Exception $e) {
        return false;
        }
        return true;

        替换为:

        $config = array(
        'ssl' => 'ssl',
        'port' => 465,
        'auth' => 'login',
        'username' => 'your_email',
        'password' => 'your_password');

        $transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);

        try {
        $mail->send($transport); //add $transport object as parameter
        $this->_mail = null;
        }
        catch (Exception $e) {
        return false;
        }
        return true;

        除此之外无需任何其他修改。赶紧试一下吧。

        原贴主要的误导之处是一个错误的$config:

        $config = array(
        'ssl' => 'tls',
        'port' => 465,
        'auth' => 'login',
        'username' => 'your_email',
        'password' => 'your_password');

        其实,如果非要使用tls的话,相应的port应该是587。tls+587的搭配虽然能发邮件,但编码不对,我想应该在程序其他地方相应调整。这个我就没去研究了,ssl+465已能正常发送邮件,我的想法已经实现了。

  • 上一篇:
  • 下一篇:

本文地址:http://www.ask186.com/content/article/magento/29033.html(转载请保留)

相关关键词搜索:Magento,使用,Gmail,SMTP

发表评论
      
* 以上用户言论只代表其个人观点,不代表www.ask186.com网站的观点或立场
推荐文档更多
编程入门教程 | PHP教程 | Mysql教程 | Apache教程 | 最新文章 | PHP面试题| 网站地图 | Google地图 | Baidu地图 | 在线WEB论坛| 中纪委反腐最新消息

WEB技术QQ交流群:151963186 站长Q号:547214413
版权所有者:编程入门教程 地址:云南省文山州砚山县盘龙乡 滇ICP备12002707号-1
特别声明:本站内容仅供参考,不作为设计及确切依据!想了解更多,可立即进入Bbs提问