background image

该邮件发送成功或失败系统将给出提示,并且用 @”屏蔽错误。发送邮件的详细过程笔者
将在下面作详细介绍。
2.利用 fsockopen()函数接收电子邮件
上面介绍的 mail()函数只能发送邮件而不能接收,利用 fsockopen()函数除了可以发送邮件
还可以接收邮件。fsockopen()函数的声明如下:
int fsockopen( string hostname, int port [, int errno [, string errstr [, float timeout]]])
参数说明
hostname:服务器地址。
port:服务器端口号。
errno:可省参数,如果出错,保存错误号。
errstr:可省参数,如果出错,保存错误信息。
timeout:可省参数,最大超时时间。
利用该函数连接某服务器后,将返回一个 socket 句柄,然后通过文件操作函数,如
fgets()、fputs()、feof()等接收消息或发送命令。本邮件系统将利用该函数接收 POP3 服务器邮
箱中的内容。
& 说明:fsockopen()函数可以与很多服务器建立连接,如 SMTP 服务器、POP3 服务器等。
邮件收发系统利用 fsockopen()函数连接 POP3 服务器,代码如下:
……
if(!$this->connection=@fsockopen($this->hostname,$this->port,&$err_no,&$err_str,$this-
>timeout))
{
……
$this->hostname:表示 POP3 服务器地址。
$this->port:表示 POP3 服务器端口号。
$err_no:表示系统连接 POP3 服务器时发生错误时返回的错误号。
$err_str:表示系统连接 POP3 服务器时发生错误时返回的错误信息。
$this->timeout:表示系统连接 POP3 服务器时最大超时时间。
下面将具体结合邮件收发系统来介绍该函数的用法。