日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

PHP laravel使用自定義郵件類實現發送郵件

瀏覽:115日期:2022-06-06 09:20:48

當登錄郵箱為騰訊企業郵箱的時候。

Phpmailer發送郵件就不好用了,具體哪里不好用,我沒真沒找到。

但是,郵件得發啊,怎么辦呢?

我這里搞了一個自定義的發送郵件類,騰訊企業郵箱也可用。

但是,郵件發送失敗,不會返回報錯信息,這個可能是有點坑。

源碼如下:

<?php?namespace?App\Extend;use?Exception;/**?*?一個簡單的PHP?SMTP?發送郵件類?*/?class?SmtpMail{????/**?????*?@var?string?郵件傳輸代理用戶名?????*?@access?private?????*/????private?$_userName;?????/**?????*?@var?string?郵件傳輸代理密碼?????*?@access?private?????*/????private?$_password;?????/**?????*?@var?string?郵件傳輸代理服務器地址?????*?@access?private?????*/????private?$_sendServer;?????/**?????*?@var?int?郵件傳輸代理服務器端口?????*?@access?private?????*/????private?$_port;?????/**?????*?@var?string?發件人?????*?@access?protected?????*/????protected?$_from;?????/**?????*?@var?string?收件人?????*?@access?protected?????*/????protected?$_to;?????/**?????*?@var?string?抄送?????*?@access?protected?????*/????protected?$_cc;?????/**?????*?@var?string?秘密抄送?????*?@access?protected?????*/????protected?$_bcc;?????/**?????*?@var?string?主題?????*?@access?protected?????*/????protected?$_subject;?????/**?????*?@var?string?郵件正文?????*?@access?protected?????*/????protected?$_body;?????/**?????*?@var?string?附件?????*?@access?protected?????*/????protected?$_attachment;?????/**?????*?@var?reource?socket資源?????*?@access?protected?????*/????protected?$_socket;?????/**?????*?@var?reource?是否是安全連接?????*?@access?protected?????*/????protected?$_isSecurity;?????/**?????*?@var?string?錯誤信息?????*?@access?protected?????*/????protected?$_errorMessage;?????protected?$_debug?=?false;????/*輸出調試信息*/????private?function?debug($msg)????{????????if?($this->_debug)?{????????????echo?$msg,?"<br>",?"\n";????????}????}????public?function?setDebug($val?=?true)????{????????$this->_debug?=?$val;????}?????/**?????*?設置郵件傳輸代理,如果是可以匿名發送有郵件的服務器,只需傳遞代理服務器地址就行?????*?@access?public?????*?@param?string?$server?代理服務器的ip或者域名?????*?@param?string?$username?認證賬號?????*?@param?string?$password?認證密碼?????*?@param?int?$port?代理服務器的端口,smtp默認25號端口?????*?@param?boolean?$isSecurity?到服務器的連接是否為安全連接,默認false?????*?@return?boolean?????*/????public?function?setServer($server,?$username?=?"",?$password?=?"",?$port?=?25,?$isSecurity?=?false)????{????????$this->_sendServer?=?$server;????????$this->_port?=?$port;????????$this->_isSecurity?=?$isSecurity;????????$this->_userName?=?empty($username)???""?:?base64_encode($username);????????$this->_password?=?empty($password)???""?:?base64_encode($password);????????return?true;????}?????/**?????*?設置發件人?????*?@access?public?????*?@param?string?$from?發件人地址?????*?@return?boolean?????*/????public?function?setFrom($from)????{????????$this->_from?=?$from;????????return?true;????}?????/**?????*?設置收件人,多個收件人,調用多次.?????*?@access?public?????*?@param?string?$to?收件人地址?????*?@return?boolean?????*/????public?function?setReceiver($to)????{????????if?(isset($this->_to))?{????????????if?(is_string($this->_to))?{????????????????$this->_to?=?array($this->_to);????????????????$this->_to[]?=?$to;????????????????return?true;????????????}?elseif?(is_array($this->_to))?{????????????????$this->_to[]?=?$to;????????????????return?true;????????????}?else?{????????????????return?false;????????????}????????}?else?{????????????$this->_to?=?$to;????????????return?true;????????}????}?????/**?????*?設置抄送,多個抄送,調用多次.?????*?@access?public?????*?@param?string?$cc?抄送地址?????*?@return?boolean?????*/????public?function?setCc($cc)????{????????if?(isset($this->_cc))?{????????????if?(is_string($this->_cc))?{????????????????$this->_cc?=?array($this->_cc);????????????????$this->_cc[]?=?$cc;????????????????return?true;????????????}?elseif?(is_array($this->_cc))?{????????????????$this->_cc[]?=?$cc;????????????????return?true;????????????}?else?{????????????????return?false;????????????}????????}?else?{????????????$this->_cc?=?$cc;????????????return?true;????????}????}?????/**?????*?設置秘密抄送,多個秘密抄送,調用多次?????*?@access?public?????*?@param?string?$bcc?秘密抄送地址?????*?@return?boolean?????*/????public?function?setBcc($bcc)????{????????if?(isset($this->_bcc))?{????????????if?(is_string($this->_bcc))?{????????????????$this->_bcc?=?array($this->_bcc);????????????????$this->_bcc[]?=?$bcc;????????????????return?true;????????????}?elseif?(is_array($this->_bcc))?{????????????????$this->_bcc[]?=?$bcc;????????????????return?true;????????????}?else?{????????????????return?false;????????????}????????}?else?{????????????$this->_bcc?=?$bcc;????????????return?true;????????}????}?????/**?????*?設置郵件附件,多個附件,調用多次?????*?@access?public?????*?@param?string?$file?文件地址?????*?@return?boolean?????*/????public?function?addAttachment($file)????{????????if?(!file_exists($file))?{????????????$this->_errorMessage?=?"file?"?.?$file?.?"?does?not?exist.";????????????return?false;????????}????????if?(isset($this->_attachment))?{????????????if?(is_string($this->_attachment))?{????????????????$this->_attachment?=?array($this->_attachment);????????????????$this->_attachment[]?=?$file;????????????????return?true;????????????}?elseif?(is_array($this->_attachment))?{????????????????$this->_attachment[]?=?$file;????????????????return?true;????????????}?else?{????????????????return?false;????????????}????????}?else?{????????????$this->_attachment?=?$file;????????????return?true;????????}????}?????/**?????*?設置郵件信息?????*?@access?public?????*?@param?string?$body?郵件主題?????*?@param?string?$subject?郵件主體內容,可以是純文本,也可是是HTML文本?????*?@return?boolean?????*/????public?function?setMail($subject,?$body)????{????????$this->_subject?=?$subject;????????$this->_body?=?base64_encode($body);????????return?true;????}?????/**?????*?發送郵件?????*?@access?public?????*?@return?boolean?????*/????public?function?send()????{????????$command?=?$this->getCommand();?????????$this->_isSecurity???$this->socketSecurity()?:?$this->socket();?????????foreach?($command?as?$value)?{????????????$result?=?$this->_isSecurity???$this->sendCommandSecurity($value[0],?$value[1])?:?$this->sendCommand($value[0],?$value[1]);????????????if?($result)?{????????????????continue;????????????}?else?{????????????????return?false;????????????}????????}?????????//其實這里也沒必要關閉,smtp命令:QUIT發出之后,服務器就關閉了連接,本地的socket資源會自動釋放????????$this->_isSecurity???$this->closeSecutity()?:?$this->close();????????return?true;????}?????/**?????*?返回錯誤信息?????*?@return?string?????*/????public?function?error()????{????????if?(!isset($this->_errorMessage))?{????????????$this->_errorMessage?=?"";????????}????????return?$this->_errorMessage;????}?????/**?????*?返回mail命令?????*?@access?protected?????*?@return?array?????*/????protected?function?getCommand()????{????????$separator?=?"----=_Part_"?.?md5($this->_from?.?time())?.?uniqid();?//分隔符?????????$command?=?array(????????????array("HELO?sendmail\r\n",?250)????????);????????if?(!empty($this->_userName))?{????????????$command[]?=?array("AUTH?LOGIN\r\n",?334);????????????$command[]?=?array($this->_userName?.?"\r\n",?334);????????????$command[]?=?array($this->_password?.?"\r\n",?235);????????}?????????//設置發件人????????$command[]?=?array("MAIL?FROM:?<"?.?$this->_from?.?">\r\n",?250);????????$header?=?"FROM:?<"?.?$this->_from?.?">\r\n";?????????//設置收件人????????if?(is_array($this->_to))?{????????????$count?=?count($this->_to);????????????for?($i?=?0;?$i?<?$count;?$i++)?{????????????????$command[]?=?array("RCPT?TO:?<"?.?$this->_to[$i]?.?">\r\n",?250);????????????????if?($i?==?0)?{????????????????????$header?.=?"TO:?<"?.?$this->_to[$i]?.?">";????????????????}?elseif?($i?+?1?==?$count)?{????????????????????$header?.=?",<"?.?$this->_to[$i]?.?">\r\n";????????????????}?else?{????????????????????$header?.=?",<"?.?$this->_to[$i]?.?">";????????????????}????????????}????????}?else?{????????????$command[]?=?array("RCPT?TO:?<"?.?$this->_to?.?">\r\n",?250);????????????$header?.=?"TO:?<"?.?$this->_to?.?">\r\n";????????}?????????//設置抄送????????if?(isset($this->_cc))?{????????????if?(is_array($this->_cc))?{????????????????$count?=?count($this->_cc);????????????????for?($i?=?0;?$i?<?$count;?$i++)?{????????????????????$command[]?=?array("RCPT?TO:?<"?.?$this->_cc[$i]?.?">\r\n",?250);????????????????????if?($i?==?0)?{????????????????????????$header?.=?"CC:?<"?.?$this->_cc[$i]?.?">";????????????????????}?elseif?($i?+?1?==?$count)?{????????????????????????$header?.=?",<"?.?$this->_cc[$i]?.?">\r\n";????????????????????}?else?{????????????????????????$header?.=?",<"?.?$this->_cc[$i]?.?">";????????????????????}????????????????}????????????}?else?{????????????????$command[]?=?array("RCPT?TO:?<"?.?$this->_cc?.?">\r\n",?250);????????????????$header?.=?"CC:?<"?.?$this->_cc?.?">\r\n";????????????}????????}?????????//設置秘密抄送????????if?(isset($this->_bcc))?{????????????if?(is_array($this->_bcc))?{????????????????$count?=?count($this->_bcc);????????????????for?($i?=?0;?$i?<?$count;?$i++)?{????????????????????$command[]?=?array("RCPT?TO:?<"?.?$this->_bcc[$i]?.?">\r\n",?250);????????????????????if?($i?==?0)?{????????????????????????$header?.=?"BCC:?<"?.?$this->_bcc[$i]?.?">";????????????????????}?elseif?($i?+?1?==?$count)?{????????????????????????$header?.=?",<"?.?$this->_bcc[$i]?.?">\r\n";????????????????????}?else?{????????????????????????$header?.=?",<"?.?$this->_bcc[$i]?.?">";????????????????????}????????????????}????????????}?else?{????????????????$command[]?=?array("RCPT?TO:?<"?.?$this->_bcc?.?">\r\n",?250);????????????????$header?.=?"BCC:?<"?.?$this->_bcc?.?">\r\n";????????????}????????}?????????//主題????????$header?.=?"Subject:?"?.?$this->_subject?.?"\r\n";????????if?(isset($this->_attachment))?{????????????//含有附件的郵件頭需要聲明成這個????????????$header?.=?"Content-Type:?multipart/mixed;\r\n";????????}?elseif?(false)?{????????????//郵件體含有圖片資源的需要聲明成這個????????????$header?.=?"Content-Type:?multipart/related;\r\n";????????}?else?{????????????//html或者純文本的郵件聲明成這個????????????$header?.=?"Content-Type:?multipart/alternative;\r\n";????????}?????????//郵件頭分隔符????????$header?.=?"\t"?.?"boundary=""?.?$separator?.?""";????????$header?.=?"\r\nMIME-Version:?1.0\r\n";????????$header?.=?"\r\n--"?.?$separator?.?"\r\n";????????$header?.=?"Content-Type:text/html;?charset=utf-8\r\n";????????$header?.=?"Content-Transfer-Encoding:?base64\r\n\r\n";????????$header?.=?$this->_body?.?"\r\n";????????$header?.=?"--"?.?$separator?.?"\r\n";?????????//加入附件????????if?(isset($this->_attachment)?&&?!empty($this->_attachment))?{????????????if?(is_array($this->_attachment))?{????????????????$count?=?count($this->_attachment);????????????????for?($i?=?0;?$i?<?$count;?$i++)?{????????????????????$header?.=?"\r\n--"?.?$separator?.?"\r\n";????????????????????$header?.=?"Content-Type:?"?.?$this->getMIMEType($this->_attachment[$i])?.?";?name=""?.?basename($this->_attachment[$i])?.?"""?.?"\r\n";????????????????????$header?.=?"Content-Transfer-Encoding:?base64\r\n";????????????????????$header?.=?"Content-Disposition:?attachment;?filename=""?.?basename($this->_attachment[$i])?.?"""?.?"\r\n";????????????????????$header?.=?"\r\n";????????????????????$header?.=?$this->readFile($this->_attachment[$i]);????????????????????$header?.=?"\r\n--"?.?$separator?.?"\r\n";????????????????}????????????}?else?{????????????????$header?.=?"\r\n--"?.?$separator?.?"\r\n";????????????????$header?.=?"Content-Type:?"?.?$this->getMIMEType($this->_attachment)?.?";?name=""?.?basename($this->_attachment)?.?"""?.?"\r\n";????????????????$header?.=?"Content-Transfer-Encoding:?base64\r\n";????????????????$header?.=?"Content-Disposition:?attachment;?filename=""?.?basename($this->_attachment)?.?"""?.?"\r\n";????????????????$header?.=?"\r\n";????????????????$header?.=?$this->readFile($this->_attachment);????????????????$header?.=?"\r\n--"?.?$separator?.?"\r\n";????????????}????????}?????????//結束郵件數據發送????????$header?.=?"\r\n.\r\n";?????????$command[]?=?array("DATA\r\n",?354);????????$command[]?=?array($header,?250);????????$command[]?=?array("QUIT\r\n",?221);?????????return?$command;????}?????/**?????*?發送命令?????*?@access?protected?????*?@param?string?$command?發送到服務器的smtp命令?????*?@param?int?$code?期望服務器返回的響應嗎?????*?@return?boolean?????*/????protected?function?sendCommand($command,?$code)????{????????//debug("Send?command:"?.?$command?.?",expected?code:"?.?$code?);????????//發送命令給服務器????????try?{????????????if?(socket_write($this->_socket,?$command,?strlen($command)))?{?????????????????//當郵件內容分多次發送時,沒有$code,服務器沒有返回????????????????if?(empty($code))?{????????????????????return?true;????????????????}?????????????????//讀取服務器返回????????????????$data?=?trim(socket_read($this->_socket,?1024));????????????????//debug(?"response:"?.?$data);?????????????????if?($data)?{????????????????????$pattern?=?"/^"?.?$code?.?"/";????????????????????if?(preg_match($pattern,?$data))?{????????????????????????return?true;????????????????????}?else?{????????????????????????$this->_errorMessage?=?"Error:"?.?$data?.?"|**|?command:";????????????????????????return?false;????????????????????}????????????????}?else?{????????????????????$this->_errorMessage?=?"Error:"?.?socket_strerror(socket_last_error());????????????????????return?false;????????????????}????????????}?else?{????????????????$this->_errorMessage?=?"Error:"?.?socket_strerror(socket_last_error());????????????????return?false;????????????}????????}?catch?(Exception?$e)?{????????????$this->_errorMessage?=?"Error:"?.?$e->getMessage();????????}????}?????/**?????*?發送命令?????*?@access?protected?????*?@param?string?$command?發送到服務器的smtp命令?????*?@param?int?$code?期望服務器返回的響應嗎?????*?@return?boolean?????*/????protected?function?sendCommandSecurity($command,?$code)????{????????//debug("Send?command:"?.?$command?.?",expected?code:"?.?$code?);????????try?{????????????if?(fwrite($this->_socket,?$command))?{????????????????//當郵件內容分多次發送時,沒有$code,服務器沒有返回????????????????if?(empty($code))?{????????????????????return?true;????????????????}????????????????//讀取服務器返回????????????????$data?=?trim(fread($this->_socket,?1024));????????????????//debug(?"response:"?.?$data?);?????????????????if?($data)?{????????????????????$pattern?=?"/^"?.?$code?.?"/";????????????????????if?(preg_match($pattern,?$data))?{????????????????????????return?true;????????????????????}?else?{????????????????????????$this->_errorMessage?=?"Error:"?.?$data?.?"|**|?command:";????????????????????????return?false;????????????????????}????????????????}?else?{????????????????????return?false;????????????????}????????????}?else?{????????????????$this->_errorMessage?=?"Error:?"?.?$command?.?"?send?failed";????????????????return?false;????????????}????????}?catch?(Exception?$e)?{????????????$this->_errorMessage?=?"Error:"?.?$e->getMessage();????????}????}?????/**?????*?讀取附件文件內容,返回base64編碼后的文件內容?????*?@access?protected?????*?@param?string?$file?文件?????*?@return?mixed?????*/????protected?function?readFile($file)????{????????if?(file_exists($file))?{????????????$file_obj?=?file_get_contents($file);????????????return?base64_encode($file_obj);????????}?else?{????????????$this->_errorMessage?=?"file?"?.?$file?.?"?dose?not?exist";????????????return?false;????????}????}?????/**?????*?獲取附件MIME類型?????*?@access?protected?????*?@param?string?$file?文件?????*?@return?mixed?????*/????protected?function?getMIMEType($file)????{????????if?(file_exists($file))?{????????????$mime?=?mime_content_type($file);????????????if?(!preg_match("/gif|jpg|png|jpeg/",?$mime))?{????????????????$mime?=?"application/octet-stream";????????????}????????????return?$mime;????????}?else?{????????????return?false;????????}????}?????/**?????*?建立到服務器的網絡連接?????*?@access?private?????*?@return?boolean?????*/????private?function?socket()????{????????//創建socket資源????????$this->_socket?=?socket_create(AF_INET,?SOCK_STREAM,?getprotobyname("tcp"));?????????if?(!$this->_socket)?{????????????$this->_errorMessage?=?socket_strerror(socket_last_error());????????????return?false;????????}?????????socket_set_block($this->_socket);?//設置阻塞模式?????????//連接服務器????????if?(!socket_connect($this->_socket,?$this->_sendServer,?$this->_port))?{????????????$this->_errorMessage?=?socket_strerror(socket_last_error());????????????return?false;????????}????????$str?=?socket_read($this->_socket,?1024);????????if?(!strpos($str,?"220"))?{????????????$this->_errorMessage?=?$str;????????????return?false;????????}?????????return?true;????}?????/**?????*?建立到服務器的SSL網絡連接?????*?@access?private?????*?@return?boolean?????*/????private?function?socketSecurity()????{????????$remoteAddr?=?"tcp://"?.?$this->_sendServer?.?":"?.?$this->_port;????????$this->_socket?=?stream_socket_client($remoteAddr,?$errno,?$errstr,?30);????????if?(!$this->_socket)?{????????????$this->_errorMessage?=?$errstr;????????????return?false;????????}?????????//設置加密連接,默認是ssl,如果需要tls連接,可以查看php手冊stream_socket_enable_crypto函數的解釋????????stream_socket_enable_crypto($this->_socket,?true,?STREAM_CRYPTO_METHOD_SSLv23_CLIENT);?????????stream_set_blocking($this->_socket,?1);?//設置阻塞模式????????$str?=?fread($this->_socket,?1024);????????if?(!strpos($str,?"220"))?{????????????$this->_errorMessage?=?$str;????????????return?false;????????}?????????return?true;????}?????/**?????*?關閉socket?????*?@access?private?????*?@return?boolean?????*/????private?function?close()????{????????if?(isset($this->_socket)?&&?is_object($this->_socket))?{????????????$this->_socket->close();????????????return?true;????????}????????$this->_errorMessage?=?"No?resource?can?to?be?close";????????return?false;????}?????/**?????*?關閉安全socket?????*?@access?private?????*?@return?boolean?????*/????private?function?closeSecutity()????{????????if?(isset($this->_socket)?&&?is_object($this->_socket))?{????????????stream_socket_shutdown($this->_socket,?STREAM_SHUT_WR);????????????return?true;????????}????????$this->_errorMessage?=?"No?resource?can?to?be?close";????????return?false;????}}

關于laravel5.8框架如何引入第三方類庫,請參考下文補充內容 laravel8大同小異。

調用方法:

/**?????*?@name:?發送郵件方法?????*?@author:?camellia?????*?@date:?2021-01-19??????*?@param:??$email??string??發送給誰?????*?@param:??$mail_title?string??郵件標題?????*?@param:??$mail_body??string??郵件內容?????*?@return:?$result?bool????true/false?????*/????public?function?send_mail($email,?$mail_title,?$mail_body)????{????????$mail?=?new?SmtpMail();????????$mail->setServer(EMAIL_SERVER,?SEND_EMAIL,?EMAIL_SECERT,?465,?true);?//參數1(qq郵箱使用smtp.qq.com,qq企業郵箱使用smtp.exmail.qq.com),參數2(郵箱登陸賬號),參數3(郵箱登陸密碼,也有可能是獨立密碼,就是開啟pop3/smtp時的授權碼),參數4(默認25,騰云服務器屏蔽25端口,所以用的465),參數5(是否開啟ssl,用465就得開啟)//$mail->setServer("XXXXX",?"joffe@XXXXX",?"XXXXX",?465,?true);????????$mail->setFrom(SEND_EMAIL,"時間里的博客");?//發送者郵箱????????$mail->setReceiver($email);?//接收者郵箱????????$mail->addAttachment("");?//Attachment?附件,不用可注釋????????$mail->setMail($mail_title,?$mail_body);?//標題和內容????????$result?=?$mail->send();?//可以var_dump一下,發送成功會返回true,失敗false????????return?$result;//*/????}

代碼親測可用。

補充

laravel5.8引入第三方類庫的方法詳解

有需求需要使用PHPMailer發送郵件。

那么首先需要引入PHPMailer這個第三方的類庫。我是這樣做的:

1:在app目錄下新建Extend目錄。如下圖所示:

將PHPMailer放入Extend目錄下。如下圖所示

2:修改項目根目錄下的composer.json文件

"autoload": {"psr-4": {    "App\\": "app/"},"classmap": [    "database/seeds",    "database/factories",    "app/Extend/PHPMailer/src"]    },

添加你第三方類庫的位置到autoload中

3:執行composer命令,在網站根目錄下:

composer dump-autoload

4:調用:

(1):使用命名空間

use PHPMailer\src\PHPMailer;

(2):調用

 //實例化PHPMailer核心類$mail = new PHPMailer();

如果報錯,就在實例化前邊加一個轉義符\

至此,laravel引入第三方類庫成功。

以上就是PHP laravel使用自定義郵件類實現發送郵件的詳細內容,更多關于PHP laravel發送郵件的資料請關注其它相關文章!

標簽: PHP
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
美女毛片一区二区三区四区最新中文字幕亚洲 | 日韩久久精品| 麻豆一区二区在线| 日本午夜精品久久久| 婷婷精品在线观看| 美女精品一区| 日韩精品一二区| 久久国产精品99国产| 国产精品呻吟| 中文一区一区三区免费在线观 | 伊人久久大香线蕉av不卡| 欧美精品福利| 久久国产尿小便嘘嘘| 你懂的网址国产 欧美| 精品高清久久| 92国产精品| 亚洲精品一二三区区别| 欧美女激情福利| 亚洲免费福利一区| 亚洲精一区二区三区| 欧美亚洲tv| 国内精品麻豆美女在线播放视频| 国产激情久久| 欧美日韩亚洲在线观看| 国产精品日韩久久久| 日韩亚洲精品在线观看| 亚洲毛片一区| 久久精品欧洲| 日韩视频免费| 国产日韩一区| 亚洲一区不卡| 国产美女高潮在线观看| 美女久久久久| 国产精品极品| 日韩在线二区| 亚洲免费一区二区| 国产尤物精品| 欧美午夜三级| 国产一区二区精品久| 免费人成黄页网站在线一区二区| 国产另类在线| 成人国产精品一区二区免费麻豆| 五月天激情综合网| 亚洲一区二区小说| 丁香婷婷久久| 国产欧美一区二区精品久久久| 欧美日韩国产观看视频| 青青草国产精品亚洲专区无| 久久国产免费| 久久av日韩| 日韩一区二区三免费高清在线观看| 国产不卡av一区二区| 日韩精选在线| 综合激情一区| 视频一区视频二区中文| 中文在线中文资源| 亚洲精选久久| 视频在线在亚洲| 夜夜嗨av一区二区三区网站四季av| 电影91久久久| 久久福利在线| 国产精品一卡| 国产精品一区二区三区av| 亚洲人亚洲人色久| 亚洲精品一区二区在线播放∴| 黄色在线一区| 亚洲免费一区二区| 性欧美69xoxoxoxo| 婷婷丁香综合| 午夜一级在线看亚洲| 亚洲在线观看| 欧美日韩国产探花| 成人av二区| av不卡在线看| 一区二区三区四区在线观看国产日韩| 亚洲女同中文字幕| 国内精品99| 国产视频一区三区| 亚洲最新av| 国产日韩欧美一区| 久久影视三级福利片| 国产精品一区二区中文字幕| 国产精品亚洲欧美日韩一区在线 | 久久在线电影| 欧美天堂亚洲电影院在线观看| 欧美日韩国产高清| 免费在线观看成人| 麻豆成人综合网| 亚洲播播91| 最新国产精品| 久久精品天堂| 亚洲自拍另类| 国产在线不卡一区二区三区| 激情婷婷亚洲| 欧美日韩国产一区二区在线观看| 国内自拍视频一区二区三区| 伊人久久亚洲美女图片| 亚洲一区二区小说| 福利一区和二区| 亚洲精品国产日韩| а√天堂中文在线资源8| 亚洲一区欧美二区| 精品三级av在线导航| 免费精品视频最新在线| 精品视频在线一区二区在线| 亚洲欧美日韩视频二区| 加勒比视频一区| 亚洲精品伊人| 欧美精品一区二区久久| 精品久久国产一区| 日韩欧美美女在线观看| 精品三级久久| 国产视频一区二区在线播放| 午夜精品婷婷| 国产福利电影在线播放| 日韩福利在线观看| 欧美日韩国产亚洲一区| 欧美黄色精品| 国产精品一线| 日韩精品第二页| 久久国产福利| 亚洲不卡av不卡一区二区| 无码日韩精品一区二区免费| 在线日韩视频| 国产一区2区| 日韩视频1区| 99精品美女| 久久av日韩| 视频一区日韩精品| 亚洲不卡视频| 亚洲一区二区三区久久久| 精精国产xxxx视频在线野外| 91亚洲一区| 免费视频一区二区三区在线观看| 日本成人中文字幕在线视频| 日韩中文在线播放| 精品国产亚洲日本| 亚洲精品三级| 在线免费观看亚洲| 美女少妇全过程你懂的久久| 日本中文字幕不卡| 国产亚洲一区在线| 香蕉视频亚洲一级| 999在线观看精品免费不卡网站| 日本欧美一区| 老牛影视一区二区三区| 国产精品91一区二区三区| 青青青免费在线视频| 欧美1区二区| 国产精品1luya在线播放| 日韩成人av影视| 日韩三区四区| 亚洲精品福利| 美女91精品| 日韩亚洲精品在线观看| 综合激情在线| 五月激激激综合网色播| 日韩三区四区| 国产精品毛片| 中文字幕成人| 久久精品99国产精品| 久久国际精品| 日韩av一区二| 另类小说一区二区三区| 国产精品成人a在线观看| 久久免费国产| 亚洲精品少妇| 黄色aa久久| 欧美专区18| 久久99性xxx老妇胖精品| 久久电影tv| 黄色日韩精品| 欧美一级久久| 欧美片网站免费| 久久精品国产www456c0m| 亚洲三级网站| 日韩大片免费观看| 日韩国产一二三区| 日韩高清成人| 日韩专区视频网站| 日韩美女一区二区三区在线观看| 黄色国产精品| 手机在线电影一区| 日韩精品欧美大片| 国内精品亚洲| 蜜臀av性久久久久蜜臀aⅴ四虎| 免费在线亚洲欧美| 日本欧洲一区二区| 国产精品nxnn| 夜夜嗨一区二区三区| 国产欧美亚洲精品a| 91精品国产成人观看| 欧美综合社区国产| 欧美中文一区二区| 欧美专区一区| 日韩制服丝袜av| 欧美午夜不卡| www.51av欧美视频| 国产一区二区三区亚洲| 日韩一区精品|