mail函数的header参数如下即可:
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";如果你用linux做调试,将 '\r\n' 换成 '\n'

解决方案 »

  1.   

    我不是很会php, tncboy(网之绿)能不能给具体说一下,
    怎么才能发html格式的邮件,
    还有html格式的邮件内容我写在那里?怎么谢谢,谢谢!
    我用的这段代码:(也可以你给我一段代码,谢谢)
    <? 
    /***************************************** 
    **MIME 邮件发送(2000.12) 
    **[email protected] 
    ** 
    **Thanks to : Dan Potter and Tony 
    *****************************************/ 
    //------------------------------------- 
    //类的调用方法 
    //------------------------------------- 
    //include("mime_mail_class.php"); 
    //$message=new MIMEMail(); 
    //$message->to="[email protected]"; 
    //$message->subject="Hello!"; 
    //$message->headers["Reply-To"]="[email protected]"; 
    //$message->headers["From"]="[email protected]"; 
    //$message->attachments[0]="images/flower.gif"; 
    //$message->attachments[1]="document.zip"; 
    //$message->disposition[0]="inline"; 
    //$message->disposition[1]="attachment"; 
    //$message->MIMEType[0]="image/gif"; 
    //$message->MIMEType[1]="application/zip"; 
    //$message->body="Thank you very much!"; 
    //$message->CharSet="gb2312"; 
    //$message->SendMail(); 
    // 
    //说明: 
    //headers[]为自定义邮件头格式,可省略。 
    //disposition[]为附件的显示方式,默认为attachment 
    //MIMEType[]为附件文件的MIME类型,可以不指定,程序会自动判断。 
    //CharSet 为邮件字符编码 默认为gb2312 
    //------------------------------------- class MIMEMail 

    var $to;//收信人邮件地址 
    var $subject;//主题 
    var $headers;//邮件头信息 
    var $attachments;//附件 
    var $body;//正文 
    var $warning="这是一封MIME邮件的首部,如果以下部分无法读取,请与发信者联系!";//MIME 说明 
    var $boundary="--==thismimemailclassiswritedwithphpbyavatar==--";//分界符 
    var $MIMEType;//使用者指定的MIME类型 
    var $disposition;//指定附件方式:attachment(附加形式)或者inline(正文显示附件) 
    var $CharSet;//字符编码 //------------------------------------- 
    //定义初始值类型函数 
    //------------------------------------- 
    function MIMEMmail() 

    $this->to=""; 
    $this->subject=""; 
    $this->headers=array(); 
    $this->attachments=array(); 
    $this->body=""; 
    $this->MIMEType=array(); 
    $this->disposition=array(); 
    $this->CharSet=""; 

    //------------------------------------- //------------------------------------- 
    //取得附件的MIME类型 
    //------------------------------------- 
    function GetMIMEType($FileName) 

    $FileName=basename($FileName); 
    if(!strrchr($FileName,".")) 

    return("application/octet-stream"); 

    $ext=strrchr($FileName,"."); 
    switch($ext) 

    case ".gif": 
    return "image/gif"; 
    break; case ".jpg": 
    return "image/jpeg"; 
    break; case ".bmp": 
    return "image/bmp"; 
    break; case ".png": 
    return "image/png"; 
    break; case ".mp3": 
    return "audio/mpeg"; 
    break; case ".mpga": 
    return "audio/mpeg"; 
    break; case ".txt": 
    return "text/plain"; 
    break; case ".html": 
    return "text/html"; 
    break; case ".htm": 
    return "text/html"; 
    break; case ".pdf": 
    return "application/pdf"; 
    break; case ".zip": 
    return "application/zip"; 
    break; case ".gz": 
    return "application/x-gzip"; 
    break; case ".tar": 
    return "application/x-tar"; 
    break; default: 
    return "application/octet-stream"; 
    break; 


    //------------------------------------- //------------------------------------- 
    //发送邮件函数 
    //------------------------------------- 
    function SendMail() 

    $SendBody=$this->GetBody($this->body); 
    $SendHeaders=$this->GetHeaders($this->headers); 
    mail($this->to,$this->subject,$SendBody,$SendHeaders); 

    //------------------------------------- //------------------------------------- 
    //处理邮件头函数 
    //------------------------------------- 
    function GetHeaders($headers) 

    //处理使用者指定的邮件头.如:headers["Reply-To"],headers["X-Extra-Header"] 
    if(count($headers)>0) 

    reset($headers); 
    while(list($HeaderKey,$Headervalues)=each($headers)) 

    $TempHeaders.=$HeaderKey.":".$Herdervalues."
    "; 

    } //有附件的MIME邮件头 
    if(count($this->attachments)>0) 

    $TempHeaders.="MIME-Version:1.0 
    "; 
    $TempHeaders.="Content-Type:multipart/mixed;"; 
    $TempHeaders.="boundary="".$this->boundary."" "; 
    $TempHeaders.=$this->warning.""; 
    } return $TempHeaders; 

    //------------------------------------- //------------------------------------- 
    //处理邮件正文函数 
    //------------------------------------- 
    function GetBody($body) 

    //有附件的邮件正文部分 
    if(count($this->attachments)>0) 

    //如果没有指定字符编码,默认为gb2312 
    if(empty($this->CharSet)) 

    $this->CharSet="gb2312"; 

    $TempBody.="--".$this->boundary."
    "; 
    $TempBody.="Content-Type:text/plain;charset="".$this->CharSet."" "; 

    $TempBody.=$body.""; //处理附件 
    if(count($this->attachments)>0) 

    for($i=0;$i<count($this->attachments);$i++) 

    $TempBody.="--".$this->boundary."
    "; //如果没有指定附件的MIME类型 
    if(empty($this->MIMEType[$i])) 

    $TempBody.="Content-Type:".$this->GetMIMEType($this->attachments[$i]).";"; 
    $TempBody.="name="".basename($this->attachments[$i])."" 
    "; 
    $TempBody.="Content-Transfer-Encoding:base64 
    "; //检查是否指定附件的显示方式,默认为attachment 
    if(empty($this->disposition)) 

    $this->disposition="attachment"; 

    $TempBody.="Content-disposition:".$this->disposition.";"; 
    $TempBody.="filename="".basename($this->attachments[$i])."" "; 
    $TempBody.=$this->EncodeFile($this->attachments[$i])."
    "; 


    $TempBody.="--".$this->boundary."-- 
    "; 
    } return $TempBody; 

    //------------------------------------- //------------------------------------- 
    //对文件进行编码 
    //------------------------------------- 
    function EncodeFile($FileName) 

    if(is_readable($FileName)) 

    $fp=fopen($FileName,"r"); 
    $contents=fread($fp,filesize($FileName)); 
    $encode=$this->ChunkSplit(base64_encode($contents)); 
    fclose($fp); 
    } return $encode; 

    //------------------------------------- //------------------------------------- 
    //以每行76个字符分离邮件正文 
    //------------------------------------- 
    function ChunkSplit($string) 

    $StrLen=strlen($string); 
    while($StrLen>0) 

    if($StrLen>76) 

    $TempString.=substr($string,0,76)."
    "; 
    $string=substr($string,76); 
    $StrLen=$StrLen-76; 

    else 

    $TempString.=$string."
    "; 
    $StrLen=0; 

    } return $TempString; 

    //------------------------------------- } 
    ?> 
      

  2.   

    不用上面这么哆嗦!
    如下sample:<?$sendto = "[email protected]"; $message = "<html><font color=red>这是一封html格式的邮件!!</font></html>"; 
    $subject = "test html mail"; $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
    $headers .= "From: ".$myname." <".$myemail.">\r\n"; 
    $headers .= "Reply-To: ".$myname." <$myreplyemail>\r\n"; 
    mail($contactemail, $subject, $message, $headers); 
    ?>
      

  3.   

    更正一下:
    <?$sendto = "[email protected]"; $message = "<html><font color=red>这是一封html格式的邮件!!</font></html>"; 
    $subject = "test html mail"; $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
    $headers .= "From: test <test>\r\n"; 
    $headers .= "Reply-To: test <test>\r\n"; 
    mail($sendto, $subject, $message, $headers); 
    ?>
      

  4.   

    tncboy(网之绿)好象还有点问题,
    mail($sendto, $subject, $message, $headers); 说不多,
    但我检查不错怎么错了,
    请帮我找一下好吗?
    我还想问一下,这段程序可以在本地机测试吧!(开着网)
    如果我想让收信人看到发信的信箱,还需要加什么?
    谢谢!
      

  5.   

    1,本地测试也行!但前提条件是本机配置好smtp服务,并且php.ini中相应设置正确!2,headers 中From部分即可指明发信的信箱
      

  6.   

    <?
    $sendto = "[email protected]"; 
    $message = "<html><font color=red>这是一封html格式的邮件!!</font></html>"; 
    $subject = "test html mail"; 
    $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
    $headers .= "From: test <test>\r\n"; 
    $headers .= "Reply-To: test <test>\r\n"; 
    mail($sendto, $subject, $message, $headers); 
    ?>
    你好,我还想问一下,我怎么把回信的地址改一下那?
    上面的程序发的信,回信的地址总是<[email protected]>
    谢谢!