• <dl id="06azv"></dl>

      <li id="06azv"></li>

          1. <dl id="06azv"></dl>

              <dl id="06azv"><ins id="06azv"></ins></dl>
              <dl id="06azv"><ins id="06azv"><thead id="06azv"></thead></ins></dl>

                <dl id="06azv"><ins id="06azv"></ins></dl>
              1. <li id="06azv"></li>

                <dl id="06azv"><s id="06azv"></s></dl>
                <li id="06azv"><ins id="06azv"><thead id="06azv"></thead></ins></li>

              2. <li id="06azv"><ins id="06azv"><strong id="06azv"></strong></ins></li>
                <dl id="06azv"></dl>

              3. <dl id="06azv"></dl>

                  <form id="06azv"></form>
                  1. <li id="06azv"><ins id="06azv"></ins></li>

                    1. <output id="06azv"></output>

                      代理加盟 2018全新代理計劃 0預存,0充值,獨立平臺,豐厚利潤!

                      您現在的位置: 秀站網 > 織夢大學 > 模塊插件 >

                      DedeCMS實現自定義表單提交后發送指定QQ郵箱的方法

                      來源:未知 發布時間:2017-07-14熱度:我要評論
                      今天秀站網分享織夢訂單管理郵件提醒,留言郵件提醒,可以做到好用戶互動,增強網站互動功能,提高用戶體驗,增加網站流量,歡迎下載。...

                      做DedeCMS自定義表單發送郵箱的教程,發現大部分都是在php文件里寫死固定字段內容,這樣雖然也能實現自定義表單提交后發送指定郵箱,但是很不智能,想要一個我們自定義表單中有什么字段就發送什么字段的內容,這里就需要phpmailer來實現。

                      就拿QQ郵箱來說明,其他郵箱(163,雅虎等郵箱方法一樣):

                      一、登陸QQ郵箱——設置——賬戶,找到POP3/IMAP/SMTP,開啟,現在的郵箱開啟POP3/SMTP都要授權碼,記下你的授權碼,等一下是作為密碼使用的。



                      開啟成功后是這樣的:



                      二、登陸網站后臺——系統——基本參數設置——核心設置,對比標記的內容根據自己的郵箱填寫完整:


                      郵箱和后臺都OK后,我們開始用上phpmailer。
                       
                      PHPMailer項目地址:https://github.com/PHPMailer/PHPMailer 使用git命令克隆到本地,或直接在該項目頁面的右下方點擊“ Download ZIP ”即可獲取到完整的PHPMailer代碼包,再到本地解壓即可。
                       
                      PHPMailer需PHP的socket擴展支持,而PHPMailer鏈接qq域名郵箱時需要ssl加密方式,固php還得openssl的支持,可以查看phpinfo,如下兩項均存在則可以使用,其中openssl版本號之類不用管;許多虛擬主機中的php是不支持openssl擴展的,那你可能就悲劇了。



                      由于我們下載下來的PHPMailer文件夾里邊的文件有很多我們是用不上的,所以我們也沒必要浪費這些內存。我們可以對這個文件夾瘦身,在這里我只保存 了以下的幾個文件:

                      class.phpmailer.php、class.phpmaileroauth.php、class.pop3.php、 class.smtp.php、PHPMailerAutoload.php 

                      把這5個php文件放到你dedecms程序plus文件夾下(或者直接下載文件:PHPMailer文件下載)

                      三、最后一步,打開/plus/diy.php,找到代碼(大概在第93行):
                       

                      $id = $dsql->GetLastID();

                      在它的前面一行加入代碼:

                      //郵件發送開始
                      $fieldlist = $diy->getFieldList();
                      $addvalue_ary1 = explode(',', $addvalue);
                      $addvalue_ary = array_filter($addvalue_ary1);
                      $i = 1;
                      foreach($fieldlist as $field=>$fielddata)
                      {
                          $emailbody .= $fielddata[0].':'.$addvalue_ary[$i].'<br />';   
                          $i ++;
                      }
                      global $cfg_smtp_server, $cfg_adminemail, $cfg_smtp_port, $cfg_smtp_usermail, $cfg_smtp_password, $cfg_webname, $cfg_basehost, $cfg_smtp_user;


                      //引入PHPMailer的核心文件 使用require_once包含避免出現PHPMailer類重復定義的警告
                      require_once("class.phpmailer.php");
                      require_once("class.smtp.php");
                      //實例化PHPMailer核心類
                      $mail = new PHPMailer();

                      //是否啟用smtp的debug進行調試 開發環境建議開啟 生產環境注釋掉即可 默認關閉debug調試模式
                      $mail->SMTPDebug = 1;

                      //使用smtp鑒權方式發送郵件
                      $mail->isSMTP();

                      //smtp需要鑒權 這個必須是true
                      $mail->SMTPAuth=true;

                      //鏈接qq域名郵箱的服務器地址
                      $mail->Host = $cfg_smtp_server;

                      //設置使用ssl加密方式登錄鑒權
                      $mail->SMTPSecure = 'ssl';

                      //設置ssl連接smtp服務器的遠程服務器端口號,以前的默認是25,但是現在新的好像已經不可用了 可選465或587
                      $mail->Port = $cfg_smtp_port;

                      //設置smtp的helo消息頭 這個可有可無 內容任意
                      // $mail->Helo = 'Hello smtp.qq.com Server';

                      //設置發件人的主機域 可有可無 默認為localhost 內容任意,建議使用你的域名
                      $mail->Hostname = $cfg_basehost;

                      //設置發送的郵件的編碼 可選GB2312 我喜歡utf-8 據說utf8在某些客戶端收信下會亂碼
                      $mail->CharSet = 'UTF-8';

                      //設置發件人姓名(昵稱) 任意內容,顯示在收件人郵件的發件人郵箱地址前的發件人姓名
                      $mail->FromName = $cfg_smtp_user;

                      //smtp登錄的賬號 這里填入字符串格式的qq號即可
                      $mail->Username = $cfg_smtp_usermail;

                      //smtp登錄的密碼 使用生成的授權碼(就剛才叫你保存的最新的授權碼)
                      $mail->Password = $cfg_smtp_password;

                      //設置發件人郵箱地址 這里填入上述提到的“發件人郵箱”
                      $mail->From = $cfg_smtp_usermail;

                      //郵件正文是否為html編碼 注意此處是一個方法 不再是屬性 true或false
                      $mail->isHTML(true);

                      //設置收件人郵箱地址 該方法有兩個參數 第一個參數為收件人郵箱地址 第二參數為給該地址設置的昵稱 不同的郵箱系統會自動進行處理變動 這里第二個參數的意義不大
                      $mail->addAddress($cfg_email,$cfg_smtp_user);

                      //添加多個收件人 則多次調用方法即可
                      // $mail->addAddress('[email protected]','lsgo在線通知');

                      //添加該郵件的主題
                      $mail->Subject = $diy->name;

                      //添加郵件正文 上方將isHTML設置成了true,則可以是完整的html字符串 如:使用file_get_contents函數讀取本地的html文件
                      $mail->Body = $emailbody;

                      //為該郵件添加附件 該方法也有兩個參數 第一個參數為附件存放的目錄(相對目錄、或絕對目錄均可) 第二參數為在郵件附件中該附件的名稱
                      // $mail->addAttachment('./d.jpg','mm.jpg');
                      //同樣該方法可以多次調用 上傳多個附件
                      // $mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');

                      if(!$mail->send())
                      {
                          echo "Fail to send. <p>";
                          echo "Cause of the error: " . $mail->ErrorInfo;
                          exit;
                      }
                      //郵件發送結束

                      因為啟用smtp的debug進行調試,所以在提交表單的時候會有調試代碼出現,我們測試成功后可以把加入到diy.php中的代碼:

                      $mail->SMTPDebug = 1;

                      換為:

                      $mail->SMTPDebug = 0;

                      本文地址:http://www.lrwh.tw/dedecms_mk/119.html

                        責任編輯:秀站網

                        相關閱讀

                        云南11选五5走势图