用Socket发送电子邮件(四) |
send_mail类的实现 现在开始介绍我所编写的发送邮件类。有了上面的预备知识了,下面就是实现了。 类的成员变量 var $lastmessage; //记录最后返回的响应信息 var $lastact; //最后的动作,字符串形式 var $welcome; //用在HELO后面,欢迎用户 var $debug; //是否显示调试信息 var $smtp; //smtp服务器 var $port; //smtp端口号 var $fp; //socket句柄 其中,$lastmessage和$lastact用于记录最后一次响应信息及执行的命令,当出错时,用户可以使用它们。为了测试需要,我还定义了$debug变量,当其值为true时,会在运行过程中显示一些执行信息,否则无任何输出。$fp用于保存打开后的socket句柄。 类的构造 function send_mail($smtp, $welcome="", $debug=false) { if(empty($smtp)) die("SMTP cannt be NULL!"); $this-$#@62;smtp=$smtp; if(empty($welcome)) { $this-$#@62;welcome=gethostbyaddr("localhost"); } else $this-$#@62;welcome=$welcome; $this-$#@62;debug=$debug; $this-$#@62;lastmessage=""; $this-$#@62;lastact=""; $this-$#@62;port="25"; } 这个构造函数主要完成一些初始值的判定及设置。$welcome用于HELO指令中,告诉服务器用户的名字。 HELO指令要求为机器名,但是不用也可以。如果用户没有给出$welcome,则自动查找本地的机器名。 |