Heim >php教程 >php手册 >用Socket发送电子邮件(七)

用Socket发送电子邮件(七)

WBOY
WBOYOriginal
2016-06-13 10:22:21899Durchsuche

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 . " ";
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" . " ";


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" . " ";
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 ";
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 ";
45 if(!empty($subject) && !ereg($head, $message))
46 {
47 $message = $head.$message;
48 }
49 //处理From头
50 $head="From: $from ";
51 if(!empty($from) && !ereg($head, $message))
52 {
53 $message = $head.$message;
54 }
55 //处理To头
56 $head="To: $to ";
57 if(!empty($to) && !ereg($head, $message))
58 {
59 $message = $head.$message;
60 }
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn