你尝试改用
sendmail_path=/usr/sbin/sendmail -t -i
sendmail_path=/usr/sbin/sendmail -t -i
解决方案 »
- 关于php dom能不能不用DOMDocument->load 直接读取写在当前php的xml
- appserv環境下面 active控件不能彈出
- 求助日期时间的正规表达式(0000-00-00 00:00:00)
- 哪有好用的OA,工作流要设计的较好,试用可以的话,肯定出钱
- php 在png格式的图片上合成文字?
- 模糊搜索,为何那么不准确?
- apache能和iis共存吗,或者说怎样在iis下运行php文件
- <input type="hidden" name="leave_id" value="<?php echo $leave_id ?>" >
- 网上申请的空间不支持session,在本机可支持,但传上去后却不支持.该如何处理?
- 那里有vb论坛现在阿?
- 怎样取得另一个页面中list/menu中的当前数据值??50分
- 为何这apache2.0.47无法运行
<?php
class send_mail{
var $lastmessage; //记录最后返回的响应信息
var $lastact; //最后的动作,字符串形式
var $welcome; //用在HELO后面,欢迎用户
var $debug; //是否显示调试信息
var $smtp; //smtp服务器
var $port; //smtp端口号
var $fp; //socket句柄
function send_mail($smtp, $welcome="", $debug=false)
{
if(empty($smtp)) die("SMTP cannt be NULL!");
$this->smtp=$smtp;
if(empty($welcome))
{
$this->welcome=gethostbyaddr("61.243.232.26");
}
else
$this->welcome=$welcome;
$this->debug=$debug;
$this->lastmessage="";
$this->lastact="";
$this->port="25";
}
function show_debug($message, $inout)
{
if ($this->debug)
{
if($inout=="in") //响应信息
{
$m='<< ';
}
else
$m='>> ';
if(!ereg("\n$", $message))
$message .= "<br>";
$message=nl2br($message);
echo "<font color=#999999>${m}${message}</font>";
}
}
function do_command($command, $code)
{
$this->lastact=$command;
$this->show_debug($this->lastact, "out");
fputs ( $this->fp, $this->lastact );
$this->lastmessage = fgets ( $this->fp, 512 );
$this->show_debug($this->lastmessage, "in");
if(!ereg("^$code", $this->lastmessage))
{
return false;
}
else
return true;
}
function send( $to,$from,$subject,$message)
{
//连接服务器
$this->lastact="connect";
$this->show_debug("Connect to SMTP server : ".$this->smtp, "out");
$this->fp = fsockopen ( $this->smtp, $this->port );
if ( $this->fp )
{
set_socket_blocking( $this->fp, true );
$this->lastmessage=fgets($this->fp,512);
$this->show_debug($this->lastmessage, "in");
if (! ereg ( "^220", $this->lastmessage ) )
{
return false;
}
else
{
$this->lastact="HELO " . $this->welcome . "\n";
if(!$this->do_command($this->lastact, "250"))
{
fclose($this->fp);
return false;
}
$this->lastact="MAIL FROM: $from" . "\n";
if(!$this->do_command($this->lastact, "250"))
{
fclose($this->fp);
return false;
}
$this->lastact="RCPT TO: $to" . "\n";
if(!$this->do_command($this->lastact, "250"))
{
fclose($this->fp);
return false;
}
//发送正文
$this->lastact="DATA\n";
if(!$this->do_command($this->lastact, "354"))
{
fclose($this->fp);
return false;
}
//处理Subject头
$head="Subject: $subject\n";
if(!empty($subject) && !ereg($head, $message))
{
$message = $head.$message;
}
//处理From头
$head="From: $from\n";
if(!empty($from) && !ereg($head, $message))
{
$message = $head.$message;
}
//处理To头
$head="To: $to\n";
if(!empty($to) && !ereg($head, $message))
{
$message = $head.$message;
}
//加上结束串
if(!ereg("\n\.\n", $message))
$message .= "\n.\n";
$this->show_debug($message, "out");
fputs($this->fp, $message);
$this->lastact="QUIT\n";
if(!$this->do_command($this->lastact, "250"))
{
fclose($this->fp);
return false;
}
}
return true;
}
else
{
$this->show_debug("Connect failed!", "in");
return false;
}
}
}?>