PHP实现的SMTP发送邮件

smtp.php

<?php 
class smtp 
{ 
    /* Public Variables */ 
    var $smtp_port; 
    var $time_out; 
    var $host_name; 
    var $log_file; 
    var $relay_host; 
    var $debug; 
    var $auth; 
    var $user; 
    var $pass; 
  
    /* Private Variables */  
    var $sock; 
  
    /* Constractor */ 
    function smtp($relay_host = "", $smtp_port = 25,$auth = false,$user,$pass) 
    { 
    $this->debug = FALSE; 
    $this->smtp_port = $smtp_port; 
    $this->relay_host = $relay_host; 
    $this->time_out = 30; //is used in fsockopen() 
    $this->auth = $auth;//auth 
    $this->user = $user; 
    $this->pass = $pass; 
    $this->host_name = "localhost"; //is used in HELO command 
    $this->log_file = ""; 
    $this->sock = FALSE; 
    } 
  
    /* Main Function */ 
    function sendmail($to, $from, $subject = "", $body = "", $mailtype, $cc = "", $bcc = "", $additional_headers = "") 
    { 
        $mail_from = $this->get_address($this->strip_comment($from)); 
        $body = ereg_replace("(^|(\r\n))(\.)", "\1.\3", $body); 
        $header= "MIME-Version:1.0\r\n"; 
        if($mailtype=="HTML")
        { 
            $header.= "Content-Type:text/html\r\n"; 
        } 
            $header.= "To: ".$to."\r\n"; 
        if ($cc != "")  
        { 
            $header.= "Cc: ".$cc."\r\n"; 
        } 
        $header.= "From: $from<".$from.">\r\n"; 
        $header.= "Subject: ".$subject."\r\n"; 
        $header.= $additional_headers; 
        $header.= "Date: ".date("r")."\r\n"; 
        $header.= "X-Mailer:By Redhat (PHP/".phpversion().")\r\n"; 
        list($msec, $sec) = explode(" ", microtime()); 
        $header.= "Message-ID: <".date("YmdHis", $sec).".".($msec*1000000).".".$mail_from.">\r\n"; 
        $TO = explode(",", $this->strip_comment($to)); 
  
        if ($cc != "")  
        { 
            $TO = array_merge($TO, explode(",", $this->s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值