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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

用PHP發(fā)送MIME郵件(五)

瀏覽:20日期:2023-12-30 10:21:16
我們將考查的下一個(gè)方法是,build_message(),它占據(jù)了整個(gè)工作的大部分,但它是通過(guò)一個(gè)gen_email()的方法來(lái)調(diào)用的。請(qǐng)注意build_message()是一個(gè)私有方法。 <?php function build_message() { $msg = ""$boundary = 'PM'.chr(rand(65, 91)).'------'.md5(uniqid(rand())); # 邊界標(biāo)識(shí) $nparts = sizeof($this->mimeparts); //情況1:存在附件列表,所以MIME信息頭必須是multipart/mixed if (is_array($this->mimeparts) && ($nparts > 1)) { $c_ver = "MIME-Version: 1.0".CRLF; $c_type = 'Content-Type: multipart/mixed;'.CRLF."tboundary="$boundary"".CRLF; $c_enc = "Content-Transfer-Encoding: ".BIT7.CRLF; $c_desc = $c_desc?"Content-Description: $c_desc".CRLF:""$warning = CRLF.WARNING.CRLF.CRLF ; // 如果存在MIMIE段,則郵件體也要變成附件 if (!empty($this->body)) { $this->attach($this->body, BODY, TEXT, BIT7); } // 現(xiàn)在創(chuàng)建郵件的各個(gè)MIME段 for ($i=0 ; $i < $nparts; $i++) { if (!empty($this->mimeparts[$i])) $msg .= CRLF.'--'.$boundary.CRLF.$this->mimeparts[$i].CRLF; } $msg .= '--'.$boundary.'--'.CRLF; $msg = $c_ver.$c_type.$c_enc.$c_desc.$warning.$msg; } else { if (!empty($this->body)) $msg .= $this->body.CRLF.CRLF; } return $msg; } ?> 這個(gè)方法有點(diǎn)自相予盾,簡(jiǎn)單而又復(fù)雜。要看你自已怎么看了。 我們?cè)谇懊孀x到(在MIME基礎(chǔ)中),每一個(gè)MIME段都有一個(gè)邊界標(biāo)記,這個(gè)標(biāo)記有一個(gè)唯一的id。邊 界標(biāo)記被用在: MIME信息頭中,用來(lái)指示附件必須從哪進(jìn)行劃分MIME段中;實(shí)際用在每一段的前面和后面來(lái)劃分附件的邊界。(回想一下Alexander的有著圖片和圖譜的郵件!) (記住:最后一個(gè)邊界標(biāo)記要以兩個(gè)連接符(--)結(jié)束,用于指示范圍結(jié)束)。 $boundary包含了邊界標(biāo)記,并且它是通過(guò)一個(gè)隨機(jī)數(shù)進(jìn)行了唯一化再做MD5哈希生成的。另外,我們給$boundary冠以一個(gè)"PM?"的前綴,這里"?"是一個(gè)隨機(jī)字母。舉一個(gè)$boundary的例子就是"PMK------2345ee5de0052eba4daf47287953d37e"(PM表示PHP MIME,所以你可以將其改為你的可能的初始值!) 在生成MIME頭的處理中我們必須考慮兩種情況。這些情況影響了郵件的原始郵件體($body在構(gòu)造函數(shù)中)以哪種方式被看待和MIME信息頭的特別表示。情況1就是寫(xiě)這篇文章的原因,并且你會(huì)看到:可以有許多的附件被包含!在這種情況下,請(qǐng)注意作為信息的部分被放上了警告字符串"This is a MIMEencoding message"。因此,真正的消息體本身也必須以附件形式加到信息中!郵件的文本通常是附件列表中的第一個(gè)附件,在我們的例子中就是$mimeparts。這個(gè)正好就是為什么我們要占用一個(gè)$mimeparts索引的原因,以便讓第一個(gè)索引(是0)可以用于郵件文本部分。郵件體必須以7bit編碼進(jìn) 行附加。 <?php if (!empty($this->body)) { $this->attach($this->body, BODY, TEXT, BIT7); } ?> 上面的一小段代碼完成附加郵件文本部分作為一個(gè)MIME附件的工作。注意,我們使用了'BODY'常量來(lái)指示attach()要將附件加到何處。 第二種情況就是當(dāng)不存在附件時(shí),在這種情況下,如果提供了郵件文本,它將是包含在局部變量$msg 中的唯一信息;在這種情況下不需要MIME頭。(然而,在這種情況下我們還應(yīng)該只把MIME-Version頭指定出來(lái)----回過(guò)頭到再看一下前面的演示的最簡(jiǎn)單的MIME信息。) MIME信息頭(MIME-Version,Content-Type, 等等。)在有附件的時(shí)候被創(chuàng)建。為了用MIME消息頭來(lái)創(chuàng)建消息體,首先MIME信息頭要被創(chuàng)建。然后各個(gè)有效的MIME段通過(guò)$mimeheaders數(shù)組被反復(fù)處理。 這就是邊界標(biāo)識(shí)被實(shí)際使用的地點(diǎn)。根據(jù)規(guī)則的一致性,對(duì)一個(gè)MIME段被前綴上兩個(gè)連接符('-- '.$BOUNDARY.crlf)并且在最后一個(gè)MIME段的后面,在邊界標(biāo)識(shí)后追加兩個(gè)連接符表示郵件范圍結(jié)束。 在變量$msg中的完整的信息作為這個(gè)方法的值被返回。 下一個(gè)方法,get_email()通過(guò)build_message()方法完成MIME消息的生成。因?yàn)閎uild_message()是一個(gè)內(nèi)部方法,get_email()在調(diào)用完build_message()之后,創(chuàng)建RFC 822的信息頭并且追加上MIME信息。 <?php function gen_email($force=false) { if (!empty($this->email) && !$force) return $this->email ; // saves processing $email = ""if (empty($this->subject)) $this->subject = NOSUBJECT; if (!empty($this->from)) $email .= 'From: '.$this->from.CRLF; if (!empty($this->headers)) $email .= $this->headers.CRLF; $email .= $this->build_message(); $this->email = $email; return $this->email; } ?> 對(duì)于我們的類的一個(gè)實(shí)例來(lái)說(shuō),類的成員$email擁有生成的整個(gè)郵件信息。為了避免信息被無(wú)必要的重新生成,這個(gè)方法繼續(xù)創(chuàng)建郵件頭,并且只有當(dāng)$mail為空時(shí)才調(diào)用build_message()。然而,你可以通過(guò)調(diào)用gen_email()來(lái)強(qiáng)制重新處理。(如果"To"信息被改變或加入了一個(gè)新的附件,調(diào)用者顯示想這么做)。 gen_email()創(chuàng)建了更熟悉的From頭。另外,如果沒(méi)有指定主題,它將主題設(shè)為缺省值(No Subject)。 我們直到后面才將To和Subject 的內(nèi)含保存起來(lái)。這個(gè)方法返回完整的郵件信息,這樣就結(jié)束了創(chuàng)建MIME信息的任務(wù)。;;
標(biāo)簽: PHP
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美午夜不卡| 国产探花一区在线观看| 美女国产一区二区三区| 美腿丝袜亚洲一区| 久久久久久婷| 99精品小视频| 免费在线欧美视频| 国产精品一区二区美女视频免费看 | 国产精品老牛| 亚洲精品字幕| 国产精品久久免费视频| 久久久久久自在自线| 欧美特黄一区| 午夜一级久久| 国产高清精品二区| 久久免费黄色| 亚洲一区av| 国产精品多人| 免费av一区| 日韩激情啪啪| 日韩在线高清| 日韩精品久久久久久| sm久久捆绑调教精品一区| 免费av一区| 国产视频网站一区二区三区| 日韩大片在线| 日韩一区二区三区精品| 麻豆精品国产91久久久久久| 精品淫伦v久久水蜜桃| 在线日韩视频| 国产欧美三级| 日韩视频一区| 精品国产三区在线| 久久先锋影音| 亚洲欧洲美洲av| 日韩国产欧美三级| 久久九九精品| 国产精品www.| 一区二区国产在线| 久久免费黄色| 国产精品成人3p一区二区三区| 三级精品视频| 国产日韩免费| 成人免费电影网址| 日韩国产在线观看| 91精品国产成人观看| 国产精品美女在线观看直播| 尤物在线精品| 日韩久久视频| 国产极品嫩模在线观看91精品| 尤物精品在线| 91亚洲人成网污www| 日本国产一区| 亚洲欧美久久久| 999国产精品永久免费视频app| 国产精品白丝久久av网站| 久热综合在线亚洲精品| 色婷婷精品视频| 国产精品蜜月aⅴ在线| 综合一区在线| 宅男噜噜噜66国产日韩在线观看| 国产成人精选| 国产精品红桃| 欧美一级二级三级视频| 国产精品日韩久久久| 久久国产直播| 水蜜桃久久夜色精品一区| 国产私拍福利精品视频二区| 一本综合精品| 国产亚洲一区在线| 婷婷激情久久| 久久人人97超碰国产公开结果| 高清av一区| 欧美成人一二区| 国产日韩高清一区二区三区在线 | 亚洲综合国产| 欧美一级精品| 私拍精品福利视频在线一区| 精品视频久久| 蜜桃久久久久| 国产精品欧美在线观看| 清纯唯美亚洲综合一区| 亚洲va久久| 国产日韩专区| 好看不卡的中文字幕| 美女网站一区| 不卡一区2区| 亚洲精华国产欧美| 中文日韩欧美| 日韩中文字幕av电影| 日本 国产 欧美色综合| 亚洲婷婷丁香| 青草av.久久免费一区| 日本中文字幕视频一区| 日韩不卡一区二区| 国产日韩高清一区二区三区在线 | 日韩黄色免费网站| 日本少妇精品亚洲第一区| 亚洲精品日本| 欧美亚洲色图校园春色| 国产麻豆一区二区三区精品视频| 国产视频一区二区在线播放| 国产精品久久亚洲不卡| 久久精品国产网站| 亚洲午夜天堂| 好看不卡的中文字幕| 国产亚洲一区在线| 午夜精品免费| 亚洲人亚洲人色久| 国产欧美日韩免费观看| 老司机精品视频网| 久久uomeier| 欧美在线影院| 日韩av不卡一区二区| 久久精品网址| 极品裸体白嫩激情啪啪国产精品| 亚洲一区亚洲| 欧美一区影院| 精品国产精品久久一区免费式| 亚洲成人av观看| 亚洲深深色噜噜狠狠爱网站| 国产精品分类| 日韩综合一区| 国产精品老牛| 麻豆精品视频在线观看| 激情六月综合| 91大神在线观看线路一区| 国产精品不卡| 国产毛片久久| 国产精品自拍区| 亚洲91精品| 日本欧美在线| 欧美日韩国产观看视频| 久久亚洲一区| 精品国产乱码久久久久久1区2匹| 91精品99| 国产精品调教| 日韩欧美1区| 综合精品一区| 天堂а√在线最新版中文在线| 免播放器亚洲一区| 国产精品精品| 日本不卡视频在线| 欧美日韩视频免费观看| 视频一区中文字幕精品| 日韩在线短视频| 91亚洲无吗| 婷婷成人基地| 久久精品理论片| 亚洲色图综合| 亚洲天堂一区二区| 日韩欧美中文字幕电影 | 国产精品片aa在线观看| 99热精品久久| 国产精品自在| 视频一区二区欧美| 日韩国产激情| 国产精品丝袜在线播放| 欧美资源在线| 91精品蜜臀一区二区三区在线 | 中文字幕亚洲影视| 久久久一二三| 麻豆国产91在线播放| 亚洲精品高潮| 91看片一区| 国产精品免费不| 亚洲+小说+欧美+激情+另类| 亚洲调教视频在线观看| 精品视频黄色| 国产亚洲一区二区三区不卡| 国产精品嫩草99av在线| 蜜桃视频在线网站| 美女av一区| 国产欧美在线观看免费| 亚洲无线观看| 香蕉久久国产| 婷婷激情久久| 91青青国产在线观看精品| 国产精品一区二区av交换 | 国内精品伊人| 国产剧情一区| 日韩av一级片| 日韩视频1区| 视频一区免费在线观看| 久久中文视频| 欧美aa在线观看| 91欧美在线| 精品久久91| 久久婷婷国产| 国产精品久久乐| 国产图片一区| 久久国产尿小便嘘嘘| 一级成人国产| 视频一区欧美日韩| 久久国产精品久久w女人spa| 欧美日韩视频| 国产亚洲高清视频| 鲁大师影院一区二区三区| 欧美日韩国产高清| 99热免费精品|