• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

20080511

php 搞代码 4年前 (2022-01-23) 19次浏览 已收录 0个评论

写了一个网站,反馈页面要用到 php 发邮件,无奈网站空间的 php 没有配置可用的邮件服务器,发现 php 也可通过
socket 裸发邮件。配一个可用的帐号,下面函数就可用了。

1 function send_mail( $to , $subject = ‘ 未标题 ‘ , $body ){
2 $loc_host = ” smtp.126.com ” ;
3 $smtp_acc = ” youraccount ” ;
4 $smtp_pass = ” yourpassword ” ;
5 $smtp_host = ” smtp.126.com ” ;
6 $from = ” [email protected] ” ;
7
8 $headers = ” Content-Type: text/plain; charset=\ ” gb2312\ ” \r\nContent-Transfer-Encoding:base64 ” ;
9 $lb = ” \r\n ” ;
10 $hdr = explode ( $lb , $headers );
11 if ( $body ){
12 $bdy = preg_replace ( ” /^\./ ” , ” .. ” , explode ( $lb , $body ));
13 }
14
15 $smtp = array (
16 array ( ” EHLO ” . $loc_host . $lb , ” 220, 250 ” , ” HELO error: ” ) , *本文来@源gao@daima#com搞(%代@#码@网2

搞代gaodaima码

17 array ( ” AUTH LOGIN ” . $lb , ” 334 ” , ” AUTH error: ” ) ,
18 array ( base64_encode ( $smtp_acc ) . $lb , ” 334 ” , ” AUTHENTIFICATION error: ” ) ,
19 array ( base64_encode ( $smtp_pass ) . $lb , ” 235 ” , ” AUTHENTIFICATION error: ” )
20 );
21
22 $smtp [] = array ( ” MAIL FROM: ” . $lb , ” 250 ” , ” MAIL FROM error: ” );
23 $smtp [] = array ( ” RCPT TO: ” . $lb , ” 250 ” , ” RCPT TO error: ” );
24 $smtp [] = array ( ” DATA ” . $lb , ” 354 ” , ” DATA error: ” );
25
26 $smtp [] = array ( ” From: ” . $from . $lb , “” , “” );
27 $smtp [] = array ( ” To: ” . $to . $lb , “” , “” );
28 $smtp [] = array ( ” Subject: ” . $subject . $lb , “” , “” );
29
30 foreach ( $hdr as $h ){
31 $smtp [] = array ( $h . $lb , “” , “” );
32 }
33
34 $smtp [] = array ( $lb , “” , “” );
35
36 if ( $bdy ){
37 foreach ( $bdy as $b ){
38 $smtp [] = array ( base64_encode ( $b . $lb ) . $lb , “” , “” );
39 }
40 }
41 $smtp [] = array ( ” . ” . $lb , ” 250 ” , ” DATA(end) error: ” );
42 $smtp [] = array ( ” QUIT ” . $lb , ” 221 ” , ” QUIT error: ” );
43
44 $fp = (@ fsockopen ( $smtp_host , 25 ));
45 if ( ! $fp ) echo ” Error: Cannot connect to ” . $smtp_host . ”
” ;
46 while ( $result = @ fgets ( $fp , 1024 )){
47 if ( substr ( $result , 3 , 1 ) == ” ” ){ break ; }
48 }
49 $result_str = “” ;
50 foreach ( $smtp as $req ){
51 @ fputs ( $fp , $req [ 0 ]);
52 if ( $req [ 1 ]){
53 while ( $result = @ fgets ( $fp , 1024 )){
54 if ( substr ( $result , 3 , 1 ) == ” ” ){ break ; }
55 }
56 if ( ! strstr ( $req [ 1 ] , substr ( $result , 0 , 3 ))){
57 $result_str .= $reg [ 2 ] . $result . ”
” ;
58 }
59 }
60 }
61 @ fclose ( $fp );
62 return $result_str ;
63 }
64
65


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:20080511
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址