亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php fsockopen郵箱發送實例代碼

2024-05-04 21:47:37
字體:
來源:轉載
供稿:網友
  1. <?  
  2. //ok的郵箱發送。  
  3. include "smtp.class.php";  
  4. //$smtpserver = "smtp.163.com"; //您的smtp服務器的地址  
  5. $smtpserver="smtp.163.com";  
  6. $port =25; //smtp服務器的端口,一般是 25  
  7. $smtpuser = "你的郵箱@163.com"//您登錄smtp服務器的用戶名  
  8. $smtppwd = "你郵箱的密碼"//您登錄smtp服務器的密碼  
  9. $mailtype = "txt"//郵件的類型,可選值是 txt 或 html ,txt 表示是純文本的郵件,html 表示是 html格式的郵件  
  10. $sender = "你的郵箱@163.com";  
  11. //發件人,一般要與您登錄smtp服務器的用戶名($smtpuser)相同,否則可能會因為smtp服務器的設置導致發送失敗  
  12. $smtp = new smtp($smtpserver,$port,true,$smtpuser,$smtppwd,$sender);  
  13. $smtp->debug = true; //是否開啟調試,只在測試程序時使用,正式使用時請將此行注釋  
  14. $to = "你要發給的那個人的郵箱地址"//收件人  
  15. $subject = "你好";  
  16. $body = "你發送的內容 ";  
  17. $send=$smtp->sendmail($to,$sender,$subject,$body,$mailtype); 
  18. if($send==1){  
  19. echo "郵件發送成功";  
  20. }else{  
  21. echo "郵件發送失敗<br/>";  
  22. //echo "原因:".$this->smtp->logs;  
  23. }  
  24. ?> 

郵箱發送類smtp.class.php

  1. <?php  
  2. class smtp  
  3. {  
  4. /* public variables */  
  5. var $smtp_port;  
  6. var $time_out;  
  7. var $host_name;  
  8. var $log_file;  
  9. var $relay_host;  
  10. var $debug;  
  11. var $auth;  
  12. var $user;  
  13. var $pass;  
  14. /* private variables */  
  15. var $sock;  
  16. /* constractor */  
  17. function smtp($relay_host = ""$smtp_port = 25,$auth = false,$user,$pass)  
  18. {  
  19. $this->debug = false;  
  20. $this->smtp_port = $smtp_port;  
  21. $this->relay_host = $relay_host;  
  22. $this->time_out = 30; //is used in fsockopen()  
  23. #  
  24. $this->auth = $auth;//auth  
  25. $this->user = $user;  
  26. $this->pass = $pass;  
  27. #  
  28. $this->host_name = "localhost"//is used in helo command  
  29. $this->log_file = "";  
  30. $this->sock = false;  
  31. }  
  32. /* main function */  
  33. function sendmail($to$from$subject = ""$body = ""$mailtype$cc = ""$bcc = ""$additional_headers = "")  
  34. {  
  35. $mail_from = $this->get_address($this->strip_comment($from));  
  36. $body = ereg_replace("(^|(rn))(.)""1.3"$body);  
  37. $header .= "mime-version:1.0rn";  
  38. if($mailtype=="html"){  
  39. $header .= "content-type:text/htmlrn";  
  40. }  
  41. $header .= "to: ".$to."rn";  
  42. if ($cc != "") {  
  43. $header .= "cc: ".$cc."rn";  
  44. }  
  45. $header .= "from: $from<".$from.">;rn";  
  46. $header .= "subject: ".$subject."rn";  
  47. $header .= $additional_headers;  
  48. $header .= "date: ".date("r")."rn";  
  49. $header .= "x-mailer:by redhat (php/".phpversion().")rn";  
  50. list($msec$sec) = explode(" ", microtime());  
  51. $header .= "message-id: <".date("ymdhis"$sec).".".($msec*1000000).".".$mail_from.">;rn";  
  52. $to = explode(","$this->strip_comment($to));  
  53. if ($cc != "") {  
  54. $to = array_merge($toexplode(","$this->strip_comment($cc)));  
  55. }  
  56. if ($bcc != "") {  
  57. $to = array_merge($toexplode(","$this->strip_comment($bcc)));  
  58. }  
  59. $sent = true;  
  60. foreach ($to as $rcpt_to) {  
  61. $rcpt_to = $this->get_address($rcpt_to);  
  62. if (!$this->smtp_sockopen($rcpt_to)) {  
  63. $this->log_write("error: cannot send email to ".$rcpt_to."n");  
  64. $sent = false;  
  65. continue;  
  66. }  
  67. if ($this->smtp_send($this->host_name, $mail_from$rcpt_to$header$body)) {  
  68. $this->log_write("e-mail has been sent to <".$rcpt_to.">;n");  
  69. else {  
  70. $this->log_write("error: cannot send email to <".$rcpt_to.">;n");  
  71. $sent = false;  
  72. }  
  73. fclose($this->sock);  
  74. $this->log_write("disconnected from remote hostn");  
  75. }  
  76. return $sent;  
  77. }  
  78. /* private functions */  
  79. function smtp_send($helo$from$to$header$body = "")  
  80. {  
  81. if (!$this->smtp_putcmd("helo"$helo)) {  
  82. return $this->smtp_error("sending helo command");  
  83. }  
  84. #auth  
  85. if($this->auth){  
  86. if (!$this->smtp_putcmd("auth login"base64_encode($this->user))) {  
  87. return $this->smtp_error("sending helo command");  
  88. }  
  89. if (!$this->smtp_putcmd(""base64_encode($this->pass))) {  
  90. return $this->smtp_error("sending helo command");  
  91. }  
  92. }  
  93. #  
  94. if (!$this->smtp_putcmd("mail""from:<".$from.">;")) {  
  95. return $this->smtp_error("sending mail from command");  
  96. }  
  97. if (!$this->smtp_putcmd("rcpt""to:<".$to.">;")) {  
  98. return $this->smtp_error("sending rcpt to command");  
  99. }  
  100. if (!$this->smtp_putcmd("data")) {  
  101. return $this->smtp_error("sending data command");  
  102. }  
  103. if (!$this->smtp_message($header$body)) {  
  104. return $this->smtp_error("sending message");  
  105. }  
  106. if (!$this->smtp_eom()) {  
  107. return $this->smtp_error("sending <cr>;<lf>;.<cr>;<lf>; [eom]");  
  108. }  
  109. if (!$this->smtp_putcmd("quit")) {  
  110. return $this->smtp_error("sending quit command");  
  111. }  
  112. return true;  
  113. }  
  114. function smtp_sockopen($address)  
  115. {  
  116. if ($this->relay_host == "") {  
  117. return $this->smtp_sockopen_mx($address);  
  118. else {  
  119. return $this->smtp_sockopen_relay();  
  120. }  
  121. }  
  122. function smtp_sockopen_relay()  
  123. {  
  124. $this->log_write("trying to ".$this->relay_host.":".$this->smtp_port."n");  
  125. $this->sock = @fsockopen($this->relay_host, $this->smtp_port, $errno$errstr$this->time_out);  
  126. if (!($this->sock && $this->smtp_ok())) {  
  127. $this->log_write("error: cannot connenct to relay host ".$this->relay_host."n");  
  128. $this->log_write("error: ".$errstr." (".$errno.")n");  
  129. return false;  
  130. }  
  131. $this->log_write("connected to relay host ".$this->relay_host."n");  
  132. return true;  
  133. }  
  134. function smtp_sockopen_mx($address)  
  135. {  
  136. $domain = ereg_replace("^.+@([^@]+)$""1"$address);  
  137. if (!@getmxrr($domain$mxhosts)) {  
  138. $this->log_write("error: cannot resolve mx "".$domain.""n");  
  139. return false;  
  140. }  
  141. foreach ($mxhosts as $host) {  
  142. $this->log_write("trying to ".$host.":".$this->smtp_port."n");  
  143. $this->sock = @fsockopen($host$this->smtp_port, $errno$errstr$this->time_out);  
  144. if (!($this->sock && $this->smtp_ok())) {  
  145. $this->log_write("warning: cannot connect to mx host ".$host."n");  
  146. $this->log_write("error: ".$errstr." (".$errno.")n");  
  147. continue;  
  148. }  
  149. $this->log_write("connected to mx host ".$host."n");  
  150. return true;  
  151. }  
  152. $this->log_write("error: cannot connect to any mx hosts (".implode(", "$mxhosts).")n");  
  153. return false;  
  154. }  
  155. function smtp_message($header$body)  
  156. {  
  157. fputs($this->sock, $header."rn".$body);  
  158. $this->smtp_debug(">; ".str_replace("rn""n".">; "$header."n>; ".$body."n>; "));  
  159. return true;  
  160. }  
  161. function smtp_eom()  
  162. {  
  163. fputs($this->sock, "rn.rn");  
  164. $this->smtp_debug(". [eom]n");  
  165. return $this->smtp_ok();  
  166. }  
  167. function smtp_ok()  
  168. {  
  169. $response = str_replace("rn"""fgets($this->sock, 512));  
  170. $this->smtp_debug($response."n");  
  171. if (!ereg("^[23]"$response)) {  
  172. fputs($this->sock, "quitrn");  
  173. fgets($this->sock, 512);  
  174. $this->log_write("error: remote host returned "".$response.""n");  
  175. return false;  
  176. }  
  177. return true;  
  178. }  
  179. function smtp_putcmd($cmd$arg = "")  
  180. {  
  181. if ($arg != "") {  
  182. if($cmd==""$cmd = $arg;  
  183. else $cmd = $cmd." ".$arg;  
  184. }  
  185. fputs($this->sock, $cmd."rn");  
  186. $this->smtp_debug(">; ".$cmd."n");  
  187. return $this->smtp_ok();  
  188. }  
  189. function smtp_error($string)  
  190. {  
  191. $this->log_write("error: error occurred while ".$string.".n");  
  192. return false;  
  193. }  
  194. function log_write($message)  
  195. {  
  196. $this->smtp_debug($message);  
  197. if ($this->log_file == "") {  
  198. return true;  
  199. }  
  200. $message = date("m d h:i:s ").get_current_user()."[".getmypid()."]: ".$message;  
  201. if (!@file_exists($this->log_file) || !($fp = @fopen($this->log_file, "a"))) {  
  202. $this->smtp_debug("warning: cannot open log file "".$this->log_file.""n");  
  203. return false;  
  204. }  
  205. flock($fp, lock_ex);  
  206. fputs($fp$message);  
  207. fclose($fp);  
  208. return true;  
  209. }  
  210. function strip_comment($address)  
  211. {  
  212. $comment = "([^()]*)";  
  213. while (ereg($comment$address)) {  
  214. $address = ereg_replace($comment""$address);  
  215. }  
  216. return $address;  
  217. }  
  218. function get_address($address)  
  219. {  
  220. $address = ereg_replace("([ trn])+"""$address);  
  221. $address = ereg_replace("^.*<(.+)>;.*$""1"$address);  
  222. return $address;  
  223. }  
  224. function smtp_debug($message)  
  225. {  
  226. if ($this->debug) {  
  227. echo $message;  
  228. }  
  229. }  
  230. }  
  231. function sendmail($smtpserver,$smtpuser,$smtppass,$smtpemailto,$smtpusermail$mailsubject$mailbody){  
  232. $smtp = new smtp($smtpserver,25,true,$smtpuser,$smtppass);  
  233. //$smtp->debug = true;  
  234. $smtp->sendmail($smtpemailto$smtpusermail$mailsubject$mailbody"html");  
  235. }  
  236. //such as  
  237. //sendmail("smtp.126.com","test@126.com","password","1034555083@qq.com","test@126.com","title","body"); 
  238. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一级大片在线观看| 美乳少妇欧美精品| 美女视频黄免费的亚洲男人天堂| 亚洲va欧美va在线观看| 国产精品爱啪在线线免费观看| 91久久精品国产| 欧美超级免费视 在线| 亚洲精品一区二区三区不| 国产精品视频地址| 久久精品影视伊人网| 亚洲一区二区免费| 亚洲最大福利视频| 性色av一区二区三区红粉影视| 日韩精品日韩在线观看| 欧美夫妻性生活视频| 奇米成人av国产一区二区三区| 亚洲摸下面视频| 日本欧美精品在线| 欧美性资源免费| 亚洲精品国产精品乱码不99按摩| 亚洲夜晚福利在线观看| 日韩欧美精品在线观看| 中文字幕欧美亚洲| 欧美激情视频在线免费观看 欧美视频免费一| 国产精品69久久| 国内精品美女av在线播放| 57pao成人国产永久免费| 国产亚洲成精品久久| 国产女同一区二区| 国产欧美一区二区白浆黑人| 成人一区二区电影| 57pao成人国产永久免费| www.日韩.com| 色综合久久久久久中文网| 国产精品入口免费视频一| 91久久久久久久久久久久久| 亚洲免费一级电影| 亚洲香蕉成人av网站在线观看| 国产精品成人播放| 国产福利成人在线| 色偷偷888欧美精品久久久| 97在线视频免费| 91久久在线观看| 久久久久久欧美| 久久香蕉国产线看观看av| 久久99亚洲精品| 亚洲女人被黑人巨大进入al| 欧美一级免费视频| 色无极影院亚洲| 国产精品久久久久久久av大片| 日韩av一区二区在线观看| 一本一本久久a久久精品牛牛影视| yellow中文字幕久久| 精品国产区一区二区三区在线观看| 国产日本欧美视频| 按摩亚洲人久久| 中文字幕av一区二区三区谷原希美| 精品人伦一区二区三区蜜桃网站| 久久人人爽人人爽人人片av高清| 久热99视频在线观看| 久久久免费av| 成人性教育视频在线观看| 国产日韩中文在线| 亚洲深夜福利视频| 久久久久女教师免费一区| 亚洲激情视频在线观看| 日韩av大片免费看| 欧美国产日韩一区二区在线观看| www国产精品视频| 按摩亚洲人久久| 亚洲aⅴ男人的天堂在线观看| 欧美精品一区在线播放| 日韩a**中文字幕| 一区二区在线视频播放| 国产一区二区色| 国产成人在线视频| 欧美一级片免费在线| 国产精品美女免费| 亚洲女人初尝黑人巨大| 国产精品一二三视频| 欧美黄色小视频| 欧美精品久久久久久久久| 精品久久久久久久久国产字幕| 亚洲影院高清在线| 亚洲欧美中文另类| 中文字幕在线视频日韩| 欧美精品久久久久久久久久| 激情懂色av一区av二区av| 精品国产91乱高清在线观看| 久久久精品影院| 美女国内精品自产拍在线播放| 久久久久国产精品www| 日韩av三级在线观看| 欧洲精品在线视频| 精品福利在线看| 九九精品视频在线| 久久综合国产精品台湾中文娱乐网| 国产精品高精视频免费| 91精品国产成人| 国产精品永久免费在线| 国产精品igao视频| 欧美日韩国产一区二区三区| 亚洲福利在线视频| 久久精品视频一| 亚洲男人天堂2024| 中文字幕精品国产| 中文字幕精品av| 国产精品久久久久久久久久久不卡| 欧美激情一区二区三区久久久| 日韩av最新在线观看| …久久精品99久久香蕉国产| 狠狠躁18三区二区一区| 日韩欧美中文在线| 日韩av免费在线| 日韩有码在线视频| 欧美在线一区二区视频| 亚洲激情在线观看| 国产亚洲欧美一区| 久久精品国产亚洲精品2020| 91视频88av| 国产精品一区二区久久国产| 欧美夫妻性视频| 91av在线免费观看| 黑人欧美xxxx| 欧美一级片免费在线| 韩国精品久久久999| 国产精品影院在线观看| 日韩av片永久免费网站| 国产精品精品国产| 欧美精品aaa| 亚洲经典中文字幕| 国产伦精品一区二区三区精品视频| 欧美激情xxxx| 国产日本欧美在线观看| 欧美综合一区第一页| 国产精品久久久久久久久久新婚| 成人a在线观看| 日韩国产高清污视频在线观看| 国内精品美女av在线播放| 日韩欧美精品中文字幕| 亚洲黄色在线看| 91久久综合亚洲鲁鲁五月天| 国产精品一区二区av影院萌芽| 欧美性xxxxx极品娇小| 亚洲精品久久久久久久久久久久久| 日韩电影免费在线观看中文字幕| 日韩美女av在线| 亚洲欧美日韩精品久久亚洲区| 亚洲经典中文字幕| 中文字幕日韩精品在线| 亚洲人成网站在线播| 黄色一区二区在线| 91免费在线视频| 日韩中文在线中文网三级| 亚洲一区美女视频在线观看免费| 成人免费网站在线观看| 亚洲第一av网站| 亚洲自拍av在线| 深夜福利一区二区| 国产精品亚洲аv天堂网| 日韩美女中文字幕| 57pao精品| 色青青草原桃花久久综合| 亚洲成人免费在线视频|