PHP用pear自带的mail类库发邮件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP用pear自带的mail类库发邮件相关的知识,希望对你有一定的参考价值。

用pear自带的mail类库发邮件,可以用pear install 命令来安装对应的库


$body = "<a href=‘http://www.baidu.com/‘ target=‘_blank‘>点我重新生成密码</a>";
 
sendMail_smtp("[email protected]",‘测试‘,$body);
 
function sendMail_smtp($smtpemailto,$mailsubject,$mailbody){
    //error_reporting(7);
     
    require_once ‘Mail.php‘;
    require_once ‘Mail/mime.php‘;
 
    $from = ‘[email protected]‘;
    $to   = $smtpemailto;
    $password = ‘xxxxxx‘;
     
    $mail_config=array(
            "host"=>"smtp.ym.163.com",
            "port"=>25,
            "auth"=>true,
            "username"=>$from,
            "password"=>$password,
            "from"=>$from,
    );
     
    $hdrs = array(
            ‘From‘=>$from,
            ‘To‘ => $to, //收信地址
            ‘Subject‘=>$mailsubject
    );
     
    $mime = new Mail_mime();
    //$mime->setTXTBody($text);
    //添加附件
    //$mime->addhtmlImage(‘php.gif‘,‘image/gif‘,‘12345‘,true);
    $mime->_build_params[‘html_charset‘] = "utf-8";//设置编码格式
    $mime->_build_params[‘head_charset‘] = "utf-8";//设置编码格式  
    $mime->setHTMLBody($mailbody);
    $body = $mime->get();
    $hdrs = $mime->headers($hdrs);
     
    $mail = Mail::factory(‘smtp‘,$mail_config);
    $succ = $mail->send($to,$hdrs,$body);
     
    if (PEAR::isError($succ))
    {
        //echo ‘Email sending failed: ‘ . $succ->getMessage();
        $err = ‘Email sending failed: ‘ . $succ->getMessage();
        $content = $to."\t".date(‘Y-m-d H:i:s‘)."\t ".$err." \r\n" ;
    }
    else
    {
        //$content = $to."\t".date(‘Y-m-d H:i:s‘)."\t Email sent succesfully \r\n" ;
        return true;
         
    }
     
}

原帖地址:https://www.oschina.net/code/snippet_88671_17839

其他方法:http://www.jb51.net/article/73978.htm


关于发邮件报错535 Error:authentication failed解决方法

调用163邮箱服务器来发送邮件,我们需要开启POP3/SMTP服务,这时163邮件会让我们设置客户端授权码,这个授权码替代上面代码部分的passwd即可成功发送邮件

以上是关于PHP用pear自带的mail类库发邮件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Pear 邮件发送数字签名电子邮件

这个使用 Pear Mail 发送邮件的 PHP 脚本有啥问题?

使用 PEAR Mail 包发送邮件时出错

PHP Pear Mail 无法发送带有 Unicode 字符的名称

使用 PHP PEAR MAIL 发送多个 CC 和 BCC

linux中php项目无法发送邮件:PEAR mail package is not installed