Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 亚洲酒色1314狠狠做,日本天堂在线播放,国产在线日韩在线

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          ThinkPHP5 封裝郵件發(fā)送服務(wù)(可發(fā)附件)

          ThinkPHP5 封裝郵件發(fā)送服務(wù)(可發(fā)附件)

          hinkPHP5 封裝郵件發(fā)送服務(wù)(可發(fā)附件)

          1、Composer 安裝 phpmailer

          2、ThinkPHP 中封裝郵件服務(wù)類

          我把它封裝在擴(kuò)展目錄 extend/Mail.php 文件里,內(nèi)容如下:

          注意:如果發(fā)送附件,建議使用英文路徑。中文路徑可能會(huì)導(dǎo)致附件發(fā)送失敗,收到的郵件沒(méi)有附件。

          上面需要的一些配置參數(shù),我把它們放在擴(kuò)展配置目錄 application/extra/mail.php 文件里 ,內(nèi)容如下:

          注意:一般默認(rèn)端口 25。如果使用了安全協(xié)議 ssl,那么端口號(hào)一般是 465 或 587。譬如 126 郵箱。

          更多配置參數(shù),可以看看源碼:https://github.com/PHPMailer/PHPMailer/blob/master/class.phpmailer.php

          3、測(cè)試


          這里我使用 126 郵箱,安全協(xié)議 ssl,端口號(hào) 465,發(fā)送 html 內(nèi)容,測(cè)試成功:

          參考鏈接:

          phpmail 的 STMP 郵件實(shí)例:https://github.com/PHPMailer/PHPMailer/blob/master/examples/smtp.phps

          項(xiàng)目當(dāng)中有很多時(shí)候都需要郵箱提醒,那么郵箱提醒功能是怎么做的呢,下面我以實(shí)際的例子作為介紹。

          1、既然要發(fā)送郵箱,就要準(zhǔn)備一個(gè)發(fā)送端的郵箱,我通常都是用QQ郵箱,所以就以QQ郵箱作為服務(wù)端的郵箱,其他郵箱的設(shè)置都是大同小異。

          登錄QQ郵箱找到設(shè)置一欄,開(kāi)啟POP3/SMTP服務(wù),這里我已經(jīng)開(kāi)啟了,具體的開(kāi)啟方法可以按照提示操作,開(kāi)啟之后還需要生成一個(gè)授權(quán)碼,這個(gè)授權(quán)碼在發(fā)送端的代碼是必傳的參數(shù)之一,到這里準(zhǔn)備工作就算做好了,剩下的就是開(kāi)始寫代碼。

          2、發(fā)送郵件需要引用PHPMailer的類文件,所以在網(wǎng)上搜索phpemail并下載類文件,然后就是在所需代碼中引用調(diào)用。

          具體代碼如下:

          /**
           * 郵件發(fā)送函數(shù)
           */
          function sendMail($to, $title, $content) {
              $email=[
                  "smtpname"=>"smtp.qq.com",
                  "email"=>"906556946@qq.com",
                  "username"=>"動(dòng)力3023",
                  "password"=>"",//授權(quán)碼
              ];
              require('./vendor/PHPMailer/PHPMailerAutoload.php');
              $mail=new \PHPMailer(); //實(shí)例化
              
              $mail->IsSMTP(); // 啟用SMTP
              $mail->Host=$email['smtpname']; //smtp服務(wù)器的名稱(這里以QQ郵箱為例)
              $mail->Username=$email['email']; //你的郵箱名
              $mail->Password=$email['password'] ; //授權(quán)碼,注意不是登錄密碼
              $mail->From=$email['email']; //發(fā)件人地址(也就是你的郵箱地址)
              $mail->FromName=$email['username']; //發(fā)件人姓名
              $mail->SMTPAuth=true; //啟用smtp認(rèn)證
              $mail->SMTPSecure='ssl';
              $mail->Port=465;
              $mail->AddAddress($to,"尊敬的客戶");
              $mail->WordWrap=50; //設(shè)置每行字符長(zhǎng)度
              $mail->IsHTML(true); // 是否HTML格式郵件
              $mail->CharSet='utf-8'; //設(shè)置郵件編碼
              $mail->Subject=$title; //郵件主題
              $mail->Body=$content; //郵件內(nèi)容
              $mail->AltBody="這是一個(gè)純文本的身體在非營(yíng)利的HTML電子郵件客戶端"; //郵件正文不支持HTML的備用顯示
              
              return($mail->Send());
          }
          
          $res=sendMail('906556946@qq.com', '網(wǎng)站留言', '留言成功');

          發(fā)送的內(nèi)容樣式是可以自定義的,如果需要的話可以直接寫html樣式,比如這樣:

          郵箱中收到郵件的截圖:

          《完》

          大家如果喜歡的話麻煩點(diǎn)贊、關(guān)注、轉(zhuǎn)發(fā),謝謝大家。

          用戶在 HTML 表單中填寫并提交數(shù)據(jù)時(shí),可以使用 PHP 來(lái)接收并處理這些數(shù)據(jù)。要實(shí)現(xiàn)這一點(diǎn),需要?jiǎng)?chuàng)建一個(gè) PHP 腳本來(lái)處理提交的數(shù)據(jù),然后將 HTML 表單的 "action" 屬性設(shè)置為該腳本的文件路徑。表單提交的數(shù)據(jù)需要進(jìn)行驗(yàn)證和過(guò)濾,以確保數(shù)據(jù)的完整性和安全性。可以使用條件語(yǔ)句、正則表達(dá)式、過(guò)濾器函數(shù)等方法來(lái)驗(yàn)證和過(guò)濾數(shù)據(jù),并使用 htmlspecialchars() 函數(shù)轉(zhuǎn)義 HTML 標(biāo)記,以防止 XSS 攻擊。

          以下是一個(gè)簡(jiǎn)單的示例:

          HTML 表單代碼:

          <form action="submit.php" method="post">

          <label for="name">Name:</label>

          <input type="text" id="name" name="name">

          <label for="email">Email:</label>

          <input type="email" id="email" name="email">

          <button type="submit">Submit</button>

          </form>

          PHP 代碼(submit.php):

          <?php

          // 獲取表單提交的數(shù)據(jù)

          $name=$_POST['name'];

          $email=$_POST['email'];

          // 在這里進(jìn)行處理,例如將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中

          // ...

          // 返回一個(gè)響應(yīng),告訴用戶數(shù)據(jù)已經(jīng)被成功提交

          echo "Thank you for submitting the form, $name!";

          ?>

          在上面的示例中,表單的 "action" 屬性設(shè)置為 "submit.php",這意味著提交表單時(shí),數(shù)據(jù)將被發(fā)送到 submit.php 文件中的 PHP 代碼中進(jìn)行處理。PHP 代碼使用 $_POST 數(shù)組來(lái)獲取表單提交的數(shù)據(jù),然后進(jìn)行處理,例如將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中。最后,PHP 代碼返回一個(gè)響應(yīng),告訴用戶數(shù)據(jù)已經(jīng)被成功提交。在處理表單數(shù)據(jù)時(shí),一定要對(duì)用戶輸入進(jìn)行驗(yàn)證和過(guò)濾,以防止安全漏洞。

          需要對(duì)表單提交的數(shù)據(jù)進(jìn)行驗(yàn)證和過(guò)濾,以確保數(shù)據(jù)的完整性和安全性。以下是一些常見(jiàn)的方法:

          1、驗(yàn)證表單字段:在 PHP 代碼中使用條件語(yǔ)句和正則表達(dá)式等方法來(lái)驗(yàn)證表單字段的有效性,例如驗(yàn)證電子郵件地址的格式是否正確。

          $email=$_POST['email'];

          if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {

          // 如果郵件地址格式不正確,則顯示錯(cuò)誤消息

          echo "Invalid email address";

          }

          2、過(guò)濾輸入數(shù)據(jù):使用 PHP 中的過(guò)濾器函數(shù)來(lái)過(guò)濾表單輸入數(shù)據(jù),以防止 XSS 攻擊和 SQL 注入等安全漏洞。

          $name=$_POST['name'];

          $name=filter_var($name, FILTER_SANITIZE_STRING); // 過(guò)濾特殊字符和標(biāo)簽

          3、防止跨站腳本攻擊(XSS):在 PHP 代碼中使用 htmlspecialchars() 函數(shù)來(lái)轉(zhuǎn)義 HTML 標(biāo)記,防止惡意腳本注入到頁(yè)面中。

          $name=$_POST['name'];

          $name=htmlspecialchars($name, ENT_QUOTES, 'UTF-8'); // 轉(zhuǎn)義 HTML 標(biāo)記

          4、防止 SQL 注入攻擊:在 PHP 代碼中使用參數(shù)化查詢或準(zhǔn)備語(yǔ)句來(lái)執(zhí)行數(shù)據(jù)庫(kù)操作,以防止惡意 SQL 語(yǔ)句注入到數(shù)據(jù)庫(kù)中。

          $stmt=$pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");

          $stmt->bindParam(':name', $name);

          $stmt->bindParam(':email', $email);

          $stmt->execute();

          通過(guò)這些方法,可以確保表單提交的數(shù)據(jù)是安全和有效的,并且能夠正常地處理和存儲(chǔ)到數(shù)據(jù)庫(kù)中。


          主站蜘蛛池模板: 无码国产精品久久一区免费| 人妻av无码一区二区三区| 一区二区三区观看| 免费一本色道久久一区| 3d动漫精品啪啪一区二区免费| 清纯唯美经典一区二区| 无码国产精品一区二区免费模式| 日韩爆乳一区二区无码| 亚洲一区电影在线观看| 国产伦精品一区二区三区四区 | 亚洲国产精品一区二区成人片国内| 日本一区午夜艳熟免费| 韩国福利影视一区二区三区| 亚洲综合av一区二区三区不卡| 高清一区二区三区| 无码一区二区三区老色鬼| 亚洲AV成人一区二区三区观看 | 亚洲av无码一区二区乱子伦as| 国产福利一区二区三区| 日韩视频在线观看一区二区| 中文字幕一区二区三区视频在线| 人妻无码视频一区二区三区| 日韩aⅴ人妻无码一区二区| 免费一区二区无码视频在线播放 | 人妻内射一区二区在线视频| 国产一区二区免费| 午夜一区二区在线观看| 亚洲人成人一区二区三区| 精品国产一区二区三区AV| 国产一在线精品一区在线观看| 伊人久久大香线蕉AV一区二区| 无码日韩人妻AV一区免费l| 亚洲视频一区二区三区| 亚洲人AV永久一区二区三区久久| 麻豆aⅴ精品无码一区二区| chinese国产一区二区| 中文字幕av人妻少妇一区二区| 中文字幕一区二区三区乱码| 国产综合精品一区二区| 亚洲码一区二区三区| 成人无码AV一区二区|