最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ECMall支持SSL連接郵件服務器的配置方法詳解

 更新時間:2014年05月19日 10:13:39   作者:  
這篇文章主要介紹了ECMall支持SSL連接郵件服務器的配置方法詳解

首先,主要是ecmall使用的phpmailer版本太低,不支持加密連接。

然后,得對相應代碼做一定調整。

1. 覆蓋phpmailer

請從附件進行下載:

復制代碼 代碼如下:

2. 改造lib

涉及到兩個lib:mail.lib.php 、mail_quequ.lib.php

在這兩個類的構造函數中,增加一個參數傳遞。如Mailer

復制代碼 代碼如下:

function __construct($from, $email, $protocol, $host = '', $port = '', $user = '', $pass = '', $SMTPSecure = false)//增加$SMTPSecure
    {
        $this->Mailer($from, $email, $protocol, $host, $port, $user, $pass, $SMTPSecure);
    }

    function Mailer($from, $email, $protocol, $host = '', $port = '', $user = '', $pass = '', $SMTPSecure = false)
....

MailQueue中同理。

3. 封裝調用函數

global.lib.php 約300行

function &get_mailer()中增加一行:

復制代碼 代碼如下:

$secure   = Conf::get('email_ssl');//增加這一行
$mailer = new Mailer($sender, $from, $protocol, $host, $port, $username, $password, $secure);//同時傳遞參數

4. 調整后臺email設置界面,增加相關設置項

后臺模板:setting.email_setting.html 增加一個配置項

復制代碼 代碼如下:

<tr>
    <th class="paddingT15">郵件服務器加密方式:</th>
    <td class="paddingT15 wordSpacing5">
       {html_radios name="email_ssl" options=$email_ssl checked=$setting.email_ssl}
        <label class="field_notice">此功能要求您的php必須支持OpenSSL模塊, 如果您要使用此功能,請聯系您的空間商確認支持此模塊</label>
    </td>
</tr>

同時,修改郵件測試的參數傳遞

復制代碼 代碼如下:

<script type="text/javascript">
$(function(){
    $('#send_test_email').click(send_test_email);
});
function send_test_email(){
    var email_type = $('input[name="email_type"]:checked').val();
    var email_ssl = $('input[name="email_ssl"]:checked').val();//增加這一行
    $.ajax({
        type:"POST",
        url:"index.php",
        data:'app=setting&act=send_test_email&email_type='+email_type+'&email_host='+$("#email_host").val()+'&email_port='+$("#email_port").val()+'&email_addr='+$("#email_addr").val()+'&email_id='+$("#email_id").val()+'&email_pass='+$("#email_pass").val()+'&email_test='+$("#email_test").val()+'&email_ssl='+email_ssl,
        dataType:"json",
        success:function(data){
            if(data.done){
            alert(data.msg);
            }
            else{
                alert(data.msg);
            }
        },
        error: function(){alert('{$lang.mail_send_failure}');}
    });
}
</script>

然后還需要修改setting.app.php

復制代碼 代碼如下:

/**
     *    EMAIL 設置
     *
     *    @author    Hyber
     *    @return    void
     */
    function email_setting()
    {
        $model_setting = &af('settings');
        $setting = $model_setting->getAll(); //載入系統(tǒng)設置數據
        if (!IS_POST)
        {
            $this->assign('setting', $setting);
            $this->assign('mail_type', array(
                MAIL_PROTOCOL_SMTP  => Lang::get('smtp'),
                MAIL_PROTOCOL_LOCAL => Lang::get('email'),
            ));
        //增加
            $this->assign('email_ssl', array(
=> Lang::get('no'),
 => 'SSL',
 => 'TLS',
            ));
            $this->display('setting.email_setting.html');
        }
        else
        {
            $data['email_type']     = $_POST['email_type'];
            $data['email_host']     = $_POST['email_host'];
            $data['email_ssl']       = $_POST['email_ssl'];//增加
            $data['email_port']     = $_POST['email_port'];
            $data['email_addr']     = $_POST['email_addr'];
            $data['email_id']       = $_POST['email_id'];
            $data['email_pass']     = $_POST['email_pass'];
            $data['email_test']     = $_POST['email_test'];
            $model_setting->setAll($data);

            $this->show_message('edit_email_setting_successed');
        }
    }

以及測試郵件方法。

復制代碼 代碼如下:

function send_test_email()
    {
        if (IS_POST)
        {
            $email_from = Conf::get('site_name');
            $email_type = $_POST['email_type'];
            $email_host = $_POST['email_host'];
            $email_ssl = $_POST['email_ssl'];//增加
            $email_port = $_POST['email_port'];
            $email_addr = $_POST['email_addr'];
            $email_id   = $_POST['email_id'];
            $email_pass = $_POST['email_pass'];
            $email_test = $_POST['email_test'];
            $email_subject = Lang::get('email_subjuect');
            $email_content = Lang::get('email_content');

            /* 使用mailer類 */
            import('mailer.lib');
            $mailer = new Mailer($email_from, $email_addr, $email_type, $email_host, $email_port, $email_id, $email_pass, $email_ssl);//增加
            $mail_result = $mailer->send($email_test, $email_subject, $email_content, CHARSET, 1);
            if ($mail_result)
            {
                $this->json_result('', 'mail_send_succeed');
            }
            else
            {
                $this->json_error('mail_send_failure', implode("\n", $mailer->errors));
            }
        }
        else
        {
            $this->show_warning('Hacking Attempt');
        }
    }

tls方式沒有測試過。

相關文章

  • laravel dingo API返回自定義錯誤信息的實例

    laravel dingo API返回自定義錯誤信息的實例

    今天小編就為大家分享一篇laravel dingo API返回自定義錯誤信息的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 簡單的php數據庫操作類代碼(增,刪,改,查)

    簡單的php數據庫操作類代碼(增,刪,改,查)

    這幾天準備重新學習,梳理一下知識體系,同時按照功能模塊劃分做一些東西。所以。mysql的操作成為第一個要點。我寫了一個簡單的mysql操作類,實現數據的簡單的增刪改查功能。
    2013-04-04
  • Yii2漢字轉拼音類的實例代碼

    Yii2漢字轉拼音類的實例代碼

    這篇文章主要介紹了Yii2漢字轉拼音類的實例代碼,需要的朋友可以參考下
    2017-04-04
  • php更新修改excel中的內容實例代碼

    php更新修改excel中的內容實例代碼

    這篇文章主要介紹了php更新修改excel中的內容實例代碼,需要的朋友可以參考下
    2014-02-02
  • 利用Fix Rss Feeds插件修復WordPress的Feed顯示錯誤

    利用Fix Rss Feeds插件修復WordPress的Feed顯示錯誤

    這篇文章主要介紹了利用Fix Rss Feeds插件修復WordPress的Feed顯示錯誤的方法,需要的朋友可以參考下
    2015-12-12
  • php雙層循環(huán)(九九乘法表)

    php雙層循環(huán)(九九乘法表)

    下面小編就為大家?guī)硪黄猵hp雙層循環(huán)(九九乘法表)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Symfony2框架學習筆記之表單用法詳解

    Symfony2框架學習筆記之表單用法詳解

    這篇文章主要介紹了Symfony2框架學習筆記之表單用法,結合實例形式詳細分析了Symfony2針對表單的創(chuàng)建,校驗,提交等各種常用技巧,需要的朋友可以參考下
    2016-03-03
  • PHP學習筆記(二):變量詳解

    PHP學習筆記(二):變量詳解

    這篇文章主要介紹了PHP學習筆記(二):變量詳解,本文講解了PHP變量簡介、變量數據類型、常用函數、變量聲明方法等內容,需要的朋友可以參考下
    2015-04-04
  • 在swoole中制作一款仿制laravel的框架的實例代碼

    在swoole中制作一款仿制laravel的框架的實例代碼

    這篇文章主要介紹了在swoole中制作一款仿制laravel的框架,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 使用配置類定義Codeigniter全局變量

    使用配置類定義Codeigniter全局變量

    Codeigniter的全局變量也可以借助 helper 函數來實現。不過,更為合適的方式可能要屬用配置類定義了。這篇文章主要介紹了使用配置類定義Codeigniter全局變量,需要的朋友可以參考下
    2014-06-06

最新評論

厦门市| 赣榆县| 内丘县| 邹城市| 敦煌市| 获嘉县| 佛山市| 壤塘县| 信宜市| 唐山市| 舒城县| 富锦市| 长葛市| 红安县| 栾城县| 安岳县| 岳阳市| 洪泽县| 昭通市| 凤山市| 衡水市| 丁青县| 安顺市| 西乌| 关岭| 赣州市| 柘荣县| 融水| 五华县| 洛隆县| 桂平市| 恭城| 久治县| 安吉县| 金塔县| 北辰区| 湖南省| 岑溪市| 彭泽县| 平顺县| 贵定县|