b>邮件发送处理
下面是真正的秘密了,可要看仔细了。:)
1 function send( $to,$from,$subject,$message)
2 {
3 //连接服务器
4
$this-$#@62;lastact="connect";
5
$this-$#@62;show_debug("Connect to SMTP server : "
.$this-$#@62;smtp, "out");
6
$this-$#@62;fp = fsockopen (
$this-$#@62;smtp,
$this-$#@62;port );
7 if (
$this-$#@62;fp )
8 {
9 set_socket_blocking(
$this-$#@62;fp, true );
10
$this-$#@62;lastmessage=fgets($this-$#@62;fp,512);
11
$this-$#@62;show_debug($this-$#@62;lastmessage, "in");
12 if (! ereg ( "^220",
$this-$#@62;lastmessage ) )
13 {
14 return false;
15 }
16 else
17 {
18
$this-$#@62;lastact="HELO " .
$this-$#@62;welcome . "\n";
19 if(
!$this-$#@62;do_command($this-$#@62;lastact, "250"))
20 {
21 fclose(
$this-$#@62;fp);
22 return false;
23 }
24
$this-$#@62;lastact="MAIL FROM: $from" . "\n";
25 if(
!$this-$#@62;do_command($this-$#@62;lastact, "250"))
26 {
27 fclose(
$this-$#@62;fp);
28 return false;
29 }
30
$this-$#@62;lastact="RCPT TO: $to" . "\n";
31 if(
!$this-$#@62;do_command($this-$#@62;lastact, "250"))
32 {
33 fclose(
$this-$#@62;fp);
34 return false;
35 }
36 //发送正文
37
$this-$#@62;lastact="DATA\n";
38 if(
!$this-$#@62;do_command($this-$#@62;lastact, "354"))
39 {
40 fclose(
$this-$#@62;fp);
41 return false;
42 }
43 //处理Subject头
44 $head="Subject: $subject\n";
45 if(!empty($subject) ;; !ereg($head, $message))
46 {
47 $message = $head.$message;
48 }
49 //处理From头
50 $head="From: $from\n";
51 if(!empty($from) ;; !ereg($head, $message))
52 {
53 $message = $head.$message;
54 }
55 //处理To头
56 $head="To: $to\n";
57 if(!empty($to) ;; !ereg($head, $message))
58 {
59 $message = $head.$message;
60 } <