php mail邮件发送带附件功能。

 更新时间:2016年11月25日 17:01  点击:2001
 代码如下 复制代码

$pdfname="test.pdf";
$email="test@test.com";
$text = "您好,附件中是您需要的pdf文件。请点击下载。<br><a href=http://www.111cn.net>www.111cn.net</a>";         //文本内容

$text = base64_encode($text);     //用base64方法把它编码
$text = chunk_split($text);     //把这个长字符串切成由每行76个字符组成的小块

$subject = $pdfname;         //标题
$from = "admin@111cn.net";     //发送者
$to = $email;     //接受者

//附件
// 定义分界线
$boundary = "nextpart_".uniqid("");
$boundary2 = "nextpart_".uniqid("");
$headers = "to: $torn";
$headers .= "from: $fromrn";
$headers .="mime-version: 1.0rn";
$headers .= "content-type: multipart/mixed;
            boundary="----=_$boundary"rn";

$read=file_get_contents($pdfname);

$read = base64_encode($read);     //用base64方法把它编码
$read = chunk_split($read);     //把这个长字符串切成由每行76个字符组成的小块

//现在我们可以建立邮件的主体
$body = "this is a multi-part message in mime format.

------=_$boundary
content-type: multipart/alternative;
    boundary="----=_$boundary2";

------=_$boundary2
content-type: text/html;
    charset="gbk"
content-transfer-encoding: base64

$text

------=_$boundary2--

------=_$boundary
content-type: application/octet-stream;
    charset="gbk";
    name="$pdfname"
content-disposition: attachment; filename="$pdfname"
content-transfer-encoding: base64

$read

-------=_$boundary--";

if(mail($to, $subject,$body,$headers))
   echo "您需要的pdf文件(".$pdfname.")已经发往您的邮箱:".$to."。<br>请查收。";
else
   echo "抱歉,发送失败了。<br>";


   ?>

以前都是利用mail函数或phpermail进行邮件发送,今天看这款利用qmail进行邮件发送,写法非常简单,是一款不错的工具。

function send_check_mail($email, $subject,$uid,$buffer)
{
    echo "hello";
 $command = "/var/qmail/bin/qmail-inject ".$email; //qmail程序地址,$email是要发送的地址
 $handle = popen($command, "w"); //打开管道
 if (!$handle) {
  return false;
 }

 $from = "yangxuemei2012@111cn.net"; //发件人
 fwrite($handle, "from: ".$from."n"); //往管道写数据
 fwrite($handle, "return-path: ".$from."n");
 fwrite($handle, "to: ".$uid."n");
 fwrite($handle, "subject: ".$subject."n");
 fwrite($handle, "mime-version: 1.0n");
 fwrite($handle, "content-type: text/html; charset="gb2312"nn");
 fwrite($handle, $buffer."n");
 pclose($handle); //关闭管道

 return true;
}
$subject = "测试邮件";

$uid = $_post['uid']; //from信息
$content= "<html><body>".$u_email

   ." 您好!<br><br>谢谢,www.111cn.net!<br</body></html>"; //内容信息

$u_email = "machunjie2003@111cn.net"; //发送到的邮箱
if (send_check_mail($u_email, $subject, $uid, $content)) {

 echo "恭喜!发送投票邮件到您的邮箱!<br><br>请检查您的邮箱:<font color=#cc0033>".$u_email." </font><br><br>". $close;
 } else {

 echo "很不幸,发送投票邮件到您的邮箱失败,请重试或者联系开发人员。<br><br>". $close;

}

用的mail()函数,感觉不好用,而且感觉这个邮件地址不能太多,一次copy了100个可能会出问题,下面提供一款可以限制发送邮件php类函数。
*/

 代码如下 复制代码

class sendmail{
    function __construct(){
        $this->set();
        $this->auth = 1;
    }

    function set($server=yj_sysmail_smtp,$user="",$password=yj_sysmail_pass,$port=yj_sysmailport,$type=1,$mailusername=0){
        $user=($user=="")?substr(yj_sysmail,0,stripos(yj_sysmail,"@")):$user;

        $this->type = $type;
        $this->server = $server;
        $this->port = $port;
        $this->user = $user;
        $this->password = $password;
        $this->mailusername = $mailusername;
    }

    function send($email_to, $email_subject, $email_message, $email_from = ''){
        $email_subject = '=?utf-8?b?'.base64_encode(str_replace("r", '', $email_subject)).'?=';
        $email_message = str_replace("rn.", " rn..", str_replace("n", "rn", str_replace("r", "n", str_replace("rn", "n", str_replace("nr", "r", $email_message)))));
        $email_from = $email_from == '' ? '=?utf-8?b?'.base64_encode(yj_sysname)."?= <".yj_sysmail.">" : (preg_match('/^(.+?) <(.+?)>$/',$email_from, $from) ? '=?utf-8?b?'.base64_encode($from[1])."?= <$from[2]>" : $email_from);
        $emails = explode(',', $email_to);
        foreach($emails as $touser){
            $tousers[] = preg_match('/^(.+?) <(.+?)>$/',$touser, $to) ? ($this->mailusername ? '=?utf-8?b?'.base64_encode($to[1])."?= <$to[2]>" : $to[2]) : $touser;
        }
        $email_to = implode(',', $tousers);
        $headers = "mime-version: 1.0rnto: {$email_to}rnfrom: {$email_from}<{$email_from}>rnx-priority: 3rnx-mailer: eglive rndate: ".date("r")."rncontent-type: text/html; charset=utf-8rn";

        if($this->type == 1){
            return $this->smtp($email_to, $email_subject, $email_message, $email_from, $headers);
        }elseif($this->type == 2){
            return @mail($email_to, $email_subject, $email_message, $headers);
        }else{
            ini_set('smtp', $this->server);
            ini_set('smtp_port', $this->port);
            ini_set('sendmail_from', $email_from);
            return @mail($email_to, $email_subject, $email_message, $headers);
        }
    }

    function smtp($email_to, $email_subject, $email_message, $email_from = '', $headers = ''){
        if(!$fp = @fsockopen($this->server, $this->port, $errno, $errstr, 10)){
            $this->errorlog('smtp', "($this->server:$this->port) connect - unable to connect to the smtp server", 0);
            return false;
        }
        stream_set_blocking($fp, true);
        $lastmessage = fgets($fp, 512);
        if(substr($lastmessage, 0, 3) != '220'){
            $this->errorlog('smtp', "$this->server:$this->port connect - $lastmessage", 0);
            return false;
        }
        fputs($fp, ($this->auth ? 'ehlo' : 'helo')." phpcmsrn");
        $lastmessage = fgets($fp, 512);
        if(substr($lastmessage, 0, 3) != 220 && substr($lastmessage, 0, 3) != 250){
            $this->errorlog('smtp', "($this->server:$this->port) helo/ehlo - $lastmessage", 0);
            return false;
        }
        while(1){
            if(substr($lastmessage, 3, 1) != '-' || empty($lastmessage)){
                break;
            }
            $lastmessage = fgets($fp, 512);
        }
        fputs($fp, "auth loginrn");
        $lastmessage = fgets($fp, 512);
        if(substr($lastmessage, 0, 3) != 334){
            $this->errorlog('smtp', "($this->server:$this->port) auth login - $lastmessage", 0);
            return false;
        }
        fputs($fp, base64_encode($this->user)."rn");
        $lastmessage = fgets($fp, 512);
        if(substr($lastmessage, 0, 3) != 334){
            $this->errorlog('smtp', "($this->server:$this->port) username - $lastmessage", 0);
            return false;
        }
        fputs($fp, base64_encode($this->password)."rn");
        $lastmessage = fgets($fp, 512);
        if(substr($lastmessage, 0, 3) != 235){
            $this->errorlog('smtp', "($this->server:$this->port) password - $lastmessage", 0);
            return false;
        }
        fputs($fp, "mail from: <".preg_replace("/.*<(.+?)>.*/", "", $email_from).">rn");
        $lastmessage = fgets($fp, 512);
        if(substr($lastmessage, 0, 3) != 250){
            fputs($fp, "mail from: <".preg_replace("/.*<(.+?)>.*/", "", $email_from).">rn");
            $lastmessage = fgets($fp, 512);
            if(substr($lastmessage, 0, 3) != 250){
                $this->errorlog('smtp', "($this->server:$this->port) mail from - $lastmessage", 0);
                return false;
            }
        }
        $email_tos = array();
        $emails = explode(',', $email_to);
        foreach($emails as $touser){
            $touser = trim($touser);
            if($touser){
                fputs($fp, "rcpt to: <".preg_replace("/.*<(.+?)>.*/", "", $touser).">rn");
                $lastmessage = fgets($fp, 512);
                if(substr($lastmessage, 0, 3) != 250){
                    fputs($fp, "rcpt to: <".preg_replace("/.*<(.+?)>.*/", "", $touser).">rn");
                    $lastmessage = fgets($fp, 512);
                    $this->errorlog('smtp', "($this->server:$this->port) rcpt to - $lastmessage", 0);
                    return false;
                }
            }
        }
        fputs($fp, "datarn");
        $lastmessage = fgets($fp, 512);
        if(substr($lastmessage, 0, 3) != 354){
            $this->errorlog('smtp', "($this->server:$this->port) data - $lastmessage", 0);
        }
        $headers .= 'message-id: <'.gmdate('ymdhs').'.'.substr(md5($email_message.microtime()), 0, 6).rand(100000, 999999).'@'.$_server['http_host'].">rn";
        fputs($fp, "date: ".gmdate('r')."rn");
        fputs($fp, "to: ".$email_to."rn");
        fputs($fp, "subject: ".$email_subject."rn");
        fputs($fp, $headers."rn");
        fputs($fp, "rnrn");
        fputs($fp, "$email_messagern.rn");
        $lastmessage = fgets($fp, 512);
        fputs($fp, "quitrn");
        return true;
    }

    function errorlog($type, $message, $is){
        $this->error[] = array($type, $message, $is);
    }

    function mailmess($mess=""){
        return "<style>*{font-family:verdana;font-size:13px;/*www.111cn.net提供*/}</style>
        <table cellpadding='5' cellspacing='1' border='0' width='750' style='background-color:#fff;border:1px solid #3b5998;padding:15px;'>
        <tr><td style='background:#3b5998;color:#fff;font-weight:bold;font-size:14px;'>".yj_syscnname." - ".yj_sysname."</td></tr>
        <tr><td>{$mess}</td></tr>
      
        </table>";
    }
}

本款php发送邮件代码他利用了php自由的邮件发送函数mail进行邮件发送的,他会利用二种试一是判断mail函数是否可用,如果行就利用它来发送否则fsockopen来操作。
*/

 代码如下 复制代码

class email
{
 function email()
 {
  $this->__construct();
 }

 function __construct()
    {
  @define('charset','gbk');
  $this->set(mail_server, mail_port, mail_user, mail_pwd,mail_type);
  $this->auth = 1;
 }

 function set($server, $port, $user, $password, $type = 1, $delimiter = 1, $mailusername = 0)
 {
  $this->type = $type;
  $this->server = $server;
  $this->port = $port;
  $this->user = $user;
  $this->password = $password;
        $this->delimiter = $delimiter == 1 ? "rn" : ($delimiter == 2 ? "r" : "n");
  $this->mailusername = $mailusername;
 }
 
 function send($email_to, $email_subject, $email_message, $email_from = '')
 {
  global $dircms;
  $email_to=iconv("utf-8", "gbk", $email_to);
  $email_subject=iconv("utf-8", "gbk", $email_subject);
  $email_message=iconv("utf-8", "gbk", $email_message);
  $email_subject = '=?'.charset.'?b?'.base64_encode(str_replace("r", '', $email_subject)).'?=';
  $email_message = str_replace("rn.", " rn..", str_replace("n", "rn", str_replace("r", "n", str_replace("rn", "n", str_replace("nr", "r", $email_message)))));
  $adminemail = $this->type == 1 ? $dircms['mail_user'] : $dircms['mail_user'];
  $email_from = $email_from == '' ? '=?'.charset.'?b?'.base64_encode($dircms['site_name'])."?= <$adminemail>" : (preg_match('/^(.+?) <(.+?)>$/',$email_from, $from) ? '=?'.charset.'?b?'.base64_encode($from[1])."?= <$from[2]>" : $email_from);
  $emails = explode(',', $email_to);
  foreach($emails as $touser)
  {
   $tousers[] = preg_match('/^(.+?) <(.+?)>$/',$touser, $to) ? ($this->mailusername ? '=?'.charset.'?b?'.base64_encode($to[1])."?= <$to[2]>" : $to[2]) : $touser;
  }
  $email_to = implode(',', $tousers);
  $headers = "from: $email_from{$this->delimiter}x-priority: 3{$this->delimiter}x-mailer: dircms {$this->delimiter}mime-version: 1.0{$this->delimiter}content-type: text/html; charset=".charset."{$this->delimiter}";
  if($this->type == 1)
  {
   return $this->smtp($email_to, $email_subject, $email_message, $email_from, $headers);
  }
  elseif($this->type == 2)
  {
   return @mail($email_to, $email_subject, $email_message, $headers);
  }
  else
  {
   ini_set('smtp', $this->server);
   ini_set('smtp_port', $this->port);
   ini_set('sendmail_from', $email_from);
   return @mail($email_to, $email_subject, $email_message, $headers);
  }
 }

 function smtp($email_to, $email_subject, $email_message, $email_from = '', $headers = '')
 {
  global $dircms;
  if(!$fp = fsockopen($this->server, $this->port, $errno, $errstr, 10))
  {
   $this->errorlog('smtp', "($this->server:$this->port) connect - unable to connect to the smtp server", 0);
   return false;
  }
  stream_set_blocking($fp, true);
  $lastmessage = fgets($fp, 512);
  if(substr($lastmessage, 0, 3) != '220')
  {
   $this->errorlog('smtp', "$this->server:$this->port connect - $lastmessage", 0);
   return false;
  }
  fputs($fp, "ehlo dircmsrn");
  $lastmessage = fgets($fp, 512);
  if(substr($lastmessage, 0, 3) != 220 && substr($lastmessage, 0, 3) != 250)
  {
   $this->errorlog('smtp', "($this->server:$this->port) helo/ehlo - $lastmessage", 0);
   return false;
  }
  while(1)
  {
   if(substr($lastmessage, 3, 1) != '-' || empty($lastmessage))
   {
    break;
   }
   $lastmessage = fgets($fp, 512);
  }
  fputs($fp, "auth loginrn");
  $lastmessage = fgets($fp, 512);
  if(substr($lastmessage, 0, 3) != 334)
  {
   $this->errorlog('smtp', "($this->server:$this->port) auth login - $lastmessage", 0);
   return false;
  }
  fputs($fp, base64_encode($this->user)."rn");
  $lastmessage = fgets($fp, 512);
  if(substr($lastmessage, 0, 3) != 334)
  {
   $this->errorlog('smtp', "($this->server:$this->port) username - $lastmessage", 0);
   return false;
  }
  fputs($fp, base64_encode($this->password)."rn");
  $lastmessage = fgets($fp, 512);
  if(substr($lastmessage, 0, 3) != 235)
  {
   $this->errorlog('smtp', "($this->server:$this->port) password - $lastmessage", 0);
   return false;
  }
  fputs($fp, "mail from: <".preg_replace("/.*<(.+?)>.*/", "", $email_from).">rn");
  $lastmessage = fgets($fp, 512);
  if(substr($lastmessage, 0, 3) != 250)
  {
   fputs($fp, "mail from: <".preg_replace("/.*<(.+?)>.*/", "", $email_from).">rn");
   $lastmessage = fgets($fp, 512);
   if(substr($lastmessage, 0, 3) != 250)
   {
    $this->errorlog('smtp', "($this->server:$this->port) mail from - $lastmessage", 0);
    return false;
   }
  }
  $email_tos = array();
  $emails = explode(',', $email_to);
  foreach($emails as $touser)
  {
   $touser = trim($touser);
   if($touser)
   {
    fputs($fp, "rcpt to: <".preg_replace("/.*<(.+?)>.*/", "", $touser).">rn");
    $lastmessage = fgets($fp, 512);
    if(substr($lastmessage, 0, 3) != 250)
    {
     fputs($fp, "rcpt to: <".preg_replace("/.*<(.+?)>.*/", "", $touser).">rn");
     $lastmessage = fgets($fp, 512);
     $this->errorlog('smtp', "($this->server:$this->port) rcpt to - $lastmessage", 0);
     return false;
    }
   }
  }
  fputs($fp, "datarn");
  $lastmessage = fgets($fp, 512);
  if(substr($lastmessage, 0, 3) != 354)
  {
   $this->errorlog('smtp', "($this->server:$this->port) data - $lastmessage", 0);
  }
  $headers .= 'message-id: <'.gmdate('ymdhs').'.'.substr(md5($email_message.microtime()), 0, 6).rand(100000, 999999).'@'.$_server['http_host'].">{$this->delimiter}";
  fputs($fp, "date: ".gmdate('r')."rn");
  fputs($fp, "to: ".$email_to."rn");
  fputs($fp, "subject: ".$email_subject."rn");
  fputs($fp, $headers."rn");
  fputs($fp, "rnrn");
  fputs($fp, "$email_messagern.rn");
  fputs($fp, "quitrn");
  return true;
 }

 function errorlog($type, $message, $is)
 {
  $this->error[] = array($type, $message, $is);
 }
}

phpmailer是一个用于发送电子邮件的php类,他比php自带的函数mail强多了,phpmailer可以到官方下载。
下面来看一个只发送文本的实例。
*/

 代码如下 复制代码

require("class.phpmailer.php");
$mail = new phpmailer();
$mail->ismail();

$mail->addaddress("email@example.com");
$mail->subject = "test 1";
$mail->body = "test 1 of phpmailer.";

if(!$mail->send())
{
   echo "error sending: " . $mail->errorinfo;;
}
else
{
   echo "letter sent";
}
/*
$mail->ismail();  必须发送

issendmail - via sendmail command.
isqmail - directly via qmail mta.
issmtp - via smtp server.
这里有一个使用smtp样本。我们假设该smtp需要授权。如果in't nessesary,只写$邮件> smtpauth = 0;。要使用的服务器数量使用semicolumn为分隔符
*/

require("class.phpmailer.php");
$mail = new phpmailer();$mail = new phpmailer();
$mail->issmtp();
$mail->host = "smtp1.example.com;smtp2.example.com";
$mail->smtpauth = true;
$mail->username = 'smtpusername';
$mail->password = 'smtppassword';

$mail->addaddress("email@example.com");
$mail->subject = "test 1";
$mail->body = "test 1 of phpmailer.";

if(!$mail->send())
{
   echo "error sending: " . $mail->errorinfo;;
}
else
{
   echo "letter is sent";
}

/*

添加有关发件人inforation,使用以下功能

 代码如下 复制代码

mail->from="mailer@example.com";
$mail->fromname="my site's mailer";
$mail->sender="mailer@example.com"; // indicates returnpath header
$mail->addreplyto("replies@example.com", "replies for my site"); // indicates replyto headers

for specifying various types of recepients use these:

$mail->addaddress("mail1@domain.com", "recepient 1");
$mail->addcc("mail1@domain.com", "recepient 1");
$mail->addbcc("mail1@domain.com", "recepient 1");


如何出现乱码可利用

$mail->charset="windows-1251";
$mail->charset="utf-8";

设置编码


如果要想发送邮件可以发送图片和附低年及html代码就在$mail-send()前面加

 代码如下 复制代码
$mail->ishtml(true);
$mail->addembeddedimage('logo.jpg', 'logoimg', 'logo.jpg'); // attach file logo.jpg, and later link to it using identfier logoimg
$mail->body = "<h1>test 1 of phpmailer html</h1>
    <p>this is a test picture: <img src="cid:logoimg" /></p>";
$mail->altbody="this is text only alternative body.";


发送附件

 代码如下 复制代码

$mail->ishtml(false);
$mail->addattachment('www.111cn.net/invoice-user-1234.pdf', 'invoice.pdf'); // attach files/invoice-user-1234.pdf,

*/

[!--infotagslink--]

相关文章

  • PHP测试成功的邮件发送案例

    mail()函数的作用:连接到邮件服务器,利用smtp协议,与该服务器交互并投邮件。注意:1、mail函数不支持esmtp协议,---即,只能直投,不能登陆2、由上条,我们只能直投至最终的收件服务器地址.而该地址,又是在PHP.ini中指定的,所...2015-10-30
  • php邮件发送的两种方式

    这篇文章研究的主要内容就是使用PHP来发送电子邮件,总结为以下两种方法:一、使用PHP内置的mail()函数<&#63;php $to = "test@163.com"; //收件人 $subject = "Test"; //主题 $message = "This is a test mail!"; //正文...2015-10-30
  • php邮件发送的两种方式

    这篇文章研究的主要内容就是使用PHP来发送电子邮件,总结为以下两种方法:一、使用PHP内置的mail()函数<&#63;php $to = "test@163.com"; //收件人 $subject = "Test"; //主题 $message = "This is a test mail!"; //正文...2015-10-30
  • C#实现图片放大功能的按照像素放大图像方法

    这篇文章主要介绍了C#实现图片放大功能的按照像素放大图像方法,功能非常实用,需要的朋友可以参考下...2020-06-25
  • PHP测试成功的邮件发送案例

    mail()函数的作用:连接到邮件服务器,利用smtp协议,与该服务器交互并投邮件。注意:1、mail函数不支持esmtp协议,---即,只能直投,不能登陆2、由上条,我们只能直投至最终的收件服务器地址.而该地址,又是在PHP.ini中指定的,所...2015-10-30
  • python中翻译功能translate模块实现方法

    在本篇文章中小编给各位整理了一篇关于python中翻译功能translate模块实现方法,有需要的朋友们可以参考下。...2020-12-18
  • AngularJS 让人爱不释手的八种功能

    AngularJS 让人爱不释手的八种功能,想知道AngularJS哪八种功能让人喜欢就快点看下本文吧...2016-03-28
  • 微信小程序实现导航功能的操作步骤

    这篇文章主要给大家介绍了关于微信小程序实现导航功能的操作步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-10
  • EMUI11上手体验 新颜值/新功能/新体验

    EMUI11值得升级吗?好不好用?下面小编带来EMUI11上手体验,一起来看看手机鸿蒙OS的提前预演...2020-12-08
  • phpMyAdmin 高级功能设置的方法图解

    phpmyadmin还有高级功能可能大部份站长不知道吧,今天本文章就来给大家介绍phpMyAdmin 高级功能设置的方法图解,希望文章对大家会有所帮助。 phpMyAdmin 安装后,默认...2016-11-25
  • 小爱同学5.0新增了哪些机型 小爱同学5.0新功能介绍

    小爱同学5.0即将发布,据已知报道小爱同学5.0将新增机型,跟着小编一起来看看吧,顺便了解下即将都有哪些新功能面市吧...2020-12-08
  • 很全面的JavaScript常用功能汇总集合

    这篇文章主要为大家分享了一份很全面的JavaScript常用功能汇总集合,一些常用的额JS 对象、基本数据结构、功能函数等,感兴趣的小伙伴们可以参考一下...2016-01-24
  • Night Shift是什么意思 Night Shift有什么功能及作用?

    Night Shift是IOS9.3正式版系统新增加的功能之一,很多伙伴们都不清楚Night Shift是什么意思?以及Night Shift有什么用途?对此,本文小编就为大家详细介绍Night Shift的含义及作用...2016-07-04
  • Mate30EPro有哪些功能特色 Mate30EPro功能特色介绍

    Mate30EPro刚刚发布,那么这款华为新机Mate30EPro有哪些功能特色呢,一起来了解一下吧...2020-12-08
  • 使用php的编码功能-实例调用(3)

    <?php include_once("mime.inc"); $mm = new MIME(); $to = "customer@263.net"; $subject = $mm->encode("商城","gb2312"); // 编码 $msg = "注册会员成功<br>"; $m...2016-11-25
  • 用PHP发送有附件的电子邮件

    我经常听到这样一个问题:"我有一个从网站发来的合同。我如何给通过表单发送的电子邮件增加一个附件呢?" 首先我要说的是要做到这个没有什么简单的办法。你要很好的理解PH...2016-11-25
  • php基于ob_start(ob_gzhandler)实现网页压缩功能的方法

    小编推荐的这篇文章介绍了php基于ob_start(ob_gzhandler)实现网页压缩功能的方法,非常实用,有兴趣的同学可以看看。 PHP生成网页后传送给浏览器显示 ,页面的打开速度...2017-07-06
  • MIUI8录屏功能在哪 MIUI8录屏功能怎么使用

    小米在最新的MIUI8中正式加入了录屏功能,用户再也不需要ROOT手机,然后借助“录屏大师”等APP来录屏了,借助系统自带的录屏功能即可轻松录制屏幕。那么,MIUI8录屏功能录屏功能在哪?MIUI8录屏功能怎么使用?本文将提供MIUI小米手机录屏使用方法图文教程供大家了解...2017-07-06
  • C++实现含附件的邮件发送功能

    这篇文章主要为大家详细介绍了C++实现含附件的邮件发送功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25
  • thinkPHP商城公告功能开发问题分析

    这篇文章主要介绍了thinkPHP商城公告功能开发问题,结合实例形式分析了基于thinkPHP实现商城公告功能所涉及的ajax交互及数据库操作相关技巧,需要的朋友可以参考下...2016-12-02