亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁(yè) php教程 php手冊(cè) 在PHP中用Socket發(fā)送電子郵件(三)

在PHP中用Socket發(fā)送電子郵件(三)

Jun 21, 2016 am 09:14 AM
gt message quot this

郵件發(fā)送處理

  下面是真正的秘密了,可要看仔細(xì)了。:)

--------------------------------------------------------------------------------
1 function send( $to,$from,$subject,$message)
2 {
3
4 //連接服務(wù)器
5 $this->lastact="connect";
6
7 $this->show_debug("Connect to SMTP server : ".$this->smtp, "out");
8 $this->fp = fsockopen ( $this->smtp, $this->port );
9 if ( $this->fp )
10 {
11
12 set_socket_blocking( $this->fp, true );
13 $this->lastmessage=fgets($this->fp,512);
14 $this->show_debug($this->lastmessage, "in");
15
16 if (! ereg ( "^220", $this->lastmessage ) )
17 {
18 return false;
19 }
20 else
21 {
22 $this->lastact="HELO " . $this->welcome . "\n";
23 if(!$this->do_command($this->lastact, "250"))
24 {
25 fclose($this->fp);
26 return false;
27 }
28
29 $this->lastact="MAIL FROM: $from" . "\n";
30 if(!$this->do_command($this->lastact, "250"))
31 {
32 fclose($this->fp);
33 return false;
34 }
35
36 $this->lastact="RCPT TO: $to" . "\n";
37 if(!$this->do_command($this->lastact, "250"))
38 {
39 fclose($this->fp);
40 return false;
41 }
42
43 //發(fā)送正文
44 $this->lastact="DATA\n";
45 if(!$this->do_command($this->lastact, "354"))
46 {
47 fclose($this->fp);
48 return false;
49 }
50
51 //處理Subject頭
52 $head="Subject: $subject\n";
53 if(!empty($subject) && !ereg($head, $message))
54 {
55 $message = $head.$message;
56 }
57
58 //處理From頭
59 $head="From: $from\n";
60 if(!empty($from) && !ereg($head, $message))
61 {
62 $message = $head.$message;
63 }
64
65 //處理To頭
66 $head="To: $to\n";
67 if(!empty($to) && !ereg($head, $message))
68 {
69 $message = $head.$message;
70 }
71
72 //加上結(jié)束串
73 if(!ereg("\n\.\n", $message))
74 $message .= "\n.\n";
75 $this->show_debug($message, "out");
76 fputs($this->fp, $message);
77
78 $this->lastact="QUIT\n";
79 if(!$this->do_command($this->lastact, "250"))
80 {
81 fclose($this->fp);
82 return false;
83 }
84 }
85 return true;
86 }
87 else
88 {
89 $this->show_debug("Connect failed!", "in");
90 return false;
91 }
92 }
--------------------------------------------------------------------------------
  有些意思很清楚的我就不說(shuō)了。

  這個(gè)函數(shù)一共有四個(gè)參數(shù),分別是$to表示收信人,$from表示發(fā)信人,$subject表求郵件主題和$message表示郵件體。如果處理成功則返回true,失敗則返回false。

第8行,連接郵件服務(wù)器,如果成功響應(yīng)碼應(yīng)為220。
第12行,設(shè)置阻塞模式,表示信息必須返回才能繼續(xù)。詳細(xì)說(shuō)明看手冊(cè)吧。
第16行,判斷響應(yīng)碼是否為220,如果是,則繼續(xù)處理,否則出錯(cuò)返回。
第22-27行,處理HELO指令,期望響應(yīng)碼為250。
第29-34行,處理MAIL FROM指令,期望響應(yīng)碼為250。
第36-41行,處理RCPT TO指令,期望響應(yīng)碼為250。
第44-49行,處理DATA指令,期望響應(yīng)碼為354。
第51-76行,生成郵件體,并發(fā)送。
第52-56行,如果$subject不為空,則查找郵件體中是否有主題部分,如果沒(méi)有,則加上主題部分。
第59-63行,如果$from不為空,則查找郵件體中是否有發(fā)信人部分,如果沒(méi)有,則加上發(fā)信人部分。
第66-70行,如果$to不為空,則查找郵件體中是否有收信人部分,如果沒(méi)有,則加上收信人部分。
第73-74行,查找郵件體是否有了結(jié)束行,如果沒(méi)有則加上郵件體的結(jié)束行(以"."作為單獨(dú)的一行的特殊行)。
第76行,發(fā)送郵件體。
第78-83行,執(zhí)行QUIT結(jié)否與服務(wù)器的連接,期望響應(yīng)碼為250。
第85行,返回處理成功標(biāo)志(true)。
第81-91行,與服務(wù)器連接失敗的處理。
 以上為整個(gè)send_mail類(lèi)的實(shí)現(xiàn),應(yīng)該不是很難的。



本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門(mén)話題

Laravel 教程
1597
29
PHP教程
1488
72
華為GT3 Pro和GT4的差異是什么? 華為GT3 Pro和GT4的差異是什么? Dec 29, 2023 pm 02:27 PM

許多用戶(hù)在選擇智能手表的時(shí)候都會(huì)選擇的華為的品牌,其中華為GT3pro和GT4都是非常熱門(mén)的選擇,不少用戶(hù)都很好奇華為GT3pro和GT4有什么區(qū)別,下面就就給大家介紹一下二者。華為GT3pro和GT4有什么區(qū)別一、外觀GT4:46mm和41mm,材質(zhì)是玻璃表鏡+不銹鋼機(jī)身+高分纖維后殼。GT3pro:46.6mm和42.9mm,材質(zhì)是藍(lán)寶石玻璃表鏡+鈦金屬機(jī)身/陶瓷機(jī)身+陶瓷后殼二、健康GT4:采用最新的華為T(mén)ruseen5.5+算法,結(jié)果會(huì)更加的精準(zhǔn)。GT3pro:多了ECG心電圖和血管及安

修復(fù):截圖工具在 Windows 11 中不起作用 修復(fù):截圖工具在 Windows 11 中不起作用 Aug 24, 2023 am 09:48 AM

為什么截圖工具在Windows11上不起作用了解問(wèn)題的根本原因有助于找到正確的解決方案。以下是截圖工具可能無(wú)法正常工作的主要原因:對(duì)焦助手已打開(kāi):這可以防止截圖工具打開(kāi)。應(yīng)用程序損壞:如果截圖工具在啟動(dòng)時(shí)崩潰,則可能已損壞。過(guò)時(shí)的圖形驅(qū)動(dòng)程序:不兼容的驅(qū)動(dòng)程序可能會(huì)干擾截圖工具。來(lái)自其他應(yīng)用程序的干擾:其他正在運(yùn)行的應(yīng)用程序可能與截圖工具沖突。證書(shū)已過(guò)期:升級(jí)過(guò)程中的錯(cuò)誤可能會(huì)導(dǎo)致此issu簡(jiǎn)單的解決方案這些適合大多數(shù)用戶(hù),不需要任何特殊的技術(shù)知識(shí)。1.更新窗口和Microsoft應(yīng)用商店應(yīng)用程

vue3中怎么使用element-plus調(diào)用message vue3中怎么使用element-plus調(diào)用message May 17, 2023 pm 03:52 PM

vue3使用element-plus調(diào)用message環(huán)境:vue3+typescript+element-plus1.全局引入element之后element已經(jīng)在app.config.globalProperties添加了全局方法$message所以在optionsAPI中可以直接使用mounted(){(thisasany).$message.success("this.$message");}2.在CompositionAPI中setup方法傳入了兩個(gè)變量props和

如何修復(fù)無(wú)法連接到iPhone上的App Store錯(cuò)誤 如何修復(fù)無(wú)法連接到iPhone上的App Store錯(cuò)誤 Jul 29, 2023 am 08:22 AM

第1部分:初始故障排除步驟檢查蘋(píng)果的系統(tǒng)狀態(tài):在深入研究復(fù)雜的解決方案之前,讓我們從基礎(chǔ)知識(shí)開(kāi)始。問(wèn)題可能不在于您的設(shè)備;蘋(píng)果的服務(wù)器可能會(huì)關(guān)閉。訪問(wèn)Apple的系統(tǒng)狀態(tài)頁(yè)面,查看AppStore是否正常工作。如果有問(wèn)題,您所能做的就是等待Apple修復(fù)它。檢查您的互聯(lián)網(wǎng)連接:確保您擁有穩(wěn)定的互聯(lián)網(wǎng)連接,因?yàn)椤盁o(wú)法連接到AppStore”問(wèn)題有時(shí)可歸因于連接不良。嘗試在Wi-Fi和移動(dòng)數(shù)據(jù)之間切換或重置網(wǎng)絡(luò)設(shè)置(“常規(guī)”>“重置”>“重置網(wǎng)絡(luò)設(shè)置”>設(shè)置)。更新您的iOS版本:

php提交表單通過(guò)后,彈出的對(duì)話框怎樣在當(dāng)前頁(yè)彈出,該如何解決 php提交表單通過(guò)后,彈出的對(duì)話框怎樣在當(dāng)前頁(yè)彈出,該如何解決 Jun 13, 2016 am 10:23 AM

php提交表單通過(guò)后,彈出的對(duì)話框怎樣在當(dāng)前頁(yè)彈出php提交表單通過(guò)后,彈出的對(duì)話框怎樣在當(dāng)前頁(yè)彈出而不是在空白頁(yè)彈出?想實(shí)現(xiàn)這樣的效果:而不是空白頁(yè)彈出:------解決方案--------------------如果你的驗(yàn)證用PHP在后端,那么就用Ajax;僅供參考:HTML code

聊聊Vue2為什么能通過(guò)this訪問(wèn)各種選項(xiàng)中屬性 聊聊Vue2為什么能通過(guò)this訪問(wèn)各種選項(xiàng)中屬性 Dec 08, 2022 pm 08:22 PM

本篇文章帶大家解讀vue源碼,來(lái)介紹一下Vue2中為什么可以使用 this 訪問(wèn)各種選項(xiàng)中的屬性,希望對(duì)大家有所幫助!

如何使用 iPadOS 17.4 優(yōu)化 iPad 電池壽命 如何使用 iPadOS 17.4 優(yōu)化 iPad 電池壽命 Mar 21, 2024 pm 10:31 PM

如何使用iPadOS17.4優(yōu)化iPad電池壽命延長(zhǎng)電池續(xù)航時(shí)間是移動(dòng)設(shè)備體驗(yàn)的關(guān)鍵,iPad是一個(gè)很好的例子。如果您覺(jué)得iPad電池消耗速度過(guò)快,不用擔(dān)心,在iPadOS17.4中有許多技巧和調(diào)整可以顯著延長(zhǎng)設(shè)備的運(yùn)行時(shí)間。本深入指南的目標(biāo)不僅僅是提供信息,而是改變您使用iPad的方式,增強(qiáng)您的整體電池管理,并確保您可以在無(wú)需充電的情況下更長(zhǎng)時(shí)間地依賴(lài)您的設(shè)備。通過(guò)采用此處概述的做法,您朝著更高效、更謹(jǐn)慎地使用技術(shù)邁出了一步,這些技術(shù)是根據(jù)您的個(gè)人需求和使用模式量身定制的。識(shí)別主要的能量消耗者

watch4pro好還是gt好 watch4pro好還是gt好 Sep 26, 2023 pm 02:45 PM

watch4pro和gt各自具有不用的特點(diǎn)和適用場(chǎng)景,如果注重功能的全面性、高性能和時(shí)尚外觀,同時(shí)愿意承擔(dān)較高的價(jià)格,那么Watch 4 Pro可能更適合。如果對(duì)功能要求不高,更注重電池續(xù)航和價(jià)格的合理性,那么GT系列可能更適合。最終的選擇應(yīng)根據(jù)個(gè)人需求、預(yù)算和喜好來(lái)決定,建議在購(gòu)買(mǎi)前仔細(xì)考慮自己的需求,并參考各種產(chǎn)品的評(píng)測(cè)和比較,以做出更明智的選擇。

See all articles