用Socket发送电子邮件(七)

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

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 } <

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航