20080511

WBOY
WBOYオリジナル
2016-06-23 14:36:25915ブラウズ

Web サイトを作成しましたが、フィードバック ページで電子メールを送信するには php を使用する必要があります。残念ながら、Web サイト スペースの PHP には、利用可能なメール サーバーが設定されていません。PHP は
ソケットを介してネイキッド電子メールを送信することもできることがわかりました。 。利用可能なアカウントを割り当てると、以下の機能が利用できるようになります。

1 function send_mail( $to , $subject = ' 未标题 ' , $body ){
2 $loc_host = " smtp.126.com " ;
3 $smtp_acc = "あなたのアカウント" ;
4 $smtp_pass = "あなたのパスワード" ;
5 $smtp_host = " smtp.126.com " ;
6 $from = " admin@126.com " ;
7
8 $headers = " Content-Type: text/plain; charset= " gb2312 " rnContent-Transfer-Encoding:base64 " ;
9 $lb = "rn" ;
10 $hdr = 爆発 ( $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: " ) ,
17 array ( 「認証ログイン」 。 , " 334 " , " 認証エラー: " ) ,
18 配列 (base64_encode ( $smtp_acc ) . $lb , " 334 " , " 認証エラー: " ) 、
19 配列 ( Base64_encode ( $smtp_pass ) . $ポンド、 " 235 " , " 認証 エラー: " )
20 );
21
22 $smtp [] = array ( " MAIL FROM: < " . $from . " > " . $lb , " 250 " , " MAIL FROM error: " );
23 $smtp [] = array ( " RCPT TO: < " . $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 " エラー: に接続できません " 。 $smtp_host 。 "
" ;
46 while ( $result = @ fgets ( $fp , 1024 )){
47 if ( substr ( $result , 3 , 1 ) == " " ){ ブレーク ; }
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 ) == " " ){ ブレーク ; }
55 }
56 if ( ! strstr ( $req [ 1 ] , substr ( $result , 0 , 3 ))){
57 $result_str .= $reg [ 2 ] 。 $結果 。 "
" ;
58
59 }
60 }
61 @ fclose ( $fp );
62 return $result_str ;
63 }
64
65

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHP ページめくり次の記事:PHP ページめくり