php 邮件上传类阿里云邮件上传接口

<?php

class mail {

    

    

    public function __construct(){

        

    }

    

    public static function sendTemplateMail($rcpt,$type,$data,$from=NULL,$output=false,$isSMTP=true){

        global $db;//定义数据库连接

        if($type == "") return false;

        

        $row = $db->query_data("select * from ai_email_model where email_model_type='".$type."' and email_model_status=1");

        if($row){

            $data["site_link"] = "<a href=\"http://".$_SERVER["HTTP_HOST"]."/\" target=_blank>".$_SERVER["HTTP_HOST"]."</a>";

            $data["site"] = $_SERVER["HTTP_HOST"];

            $data["site_email"] = SITE_EMAIL;

            $data["site_email_link"] = "<a href=\"mailto:".SITE_EMAIL."\" target=_blank>".SITE_EMAIL."</a>";

            

            $subject = self::CompileTemplate($row[0]["email_model_title"], $data);

            $subject = "=?UTF-8?B?".base64_encode($subject)."?=";

            $body = self::CompileTemplate($row[0]["email_model_content"], $data);

            

            if($output){

                return $body;

            }

            

            if($isSMTP){

                return self::SendSMTP($rcpt,$subject, $body);

            }else{

                return self::Send($rcpt,$subject, $body);

            }

            

        }else{

            return false;

        }        

    }

    

    public static function test_email($email){

        $mailer = new PHPMailer();

        $mailer->isSMTP();

        $mailer->isHTML();

        

        try{

            $mailer->Subject = "hello";

            $mailer->Body = "yes,it's here!";

            

            $mailer->AddAddress($email);

            

            if(!$mailer->preSend()){

                return false;

            }else{

                return true;

            }

            

        }catch (Exception $e){

            return false;

        }

    }

    

    public static function Send($rcpt,$subject, $body,$is_bcc=null)

    {

        $mailer = new PHPMailer;

        $mailer->IsSendmail();

        $mailer->IsHTML();

        try {

            $mailer->Subject = $subject;

            $mailer->Body = $body;

            

            foreach ((array)$rcpt as $r) $mailer->AddAddress($r);

            

            $mailer->Send();

        } catch (Exception $e) {

            

            err_log("mail_error: to:<".$rcpt.">,subject:".$subject.",Error:".$e->getMessage());

            

            return FALSE;

        }

    

        return TRUE;

    }

    

    public static function SendSMTP($rcpt,$subject, $body,$is_bcc=null)

    {

        $mailer = new PHPMailer;

        $mailer->IsSMTP();

        $mailer->IsHTML();

    

        try {

            $mailer->Subject = $subject;

            $mailer->Body = $body;

            

            foreach ((array)$rcpt as $r) $mailer->AddAddress($r);

            

            $mailer->Send();

        } catch (Exception $e) {

            

            err_log("mail_error: to:<".$rcpt.">,subject:".$subject.",Error:".$e->getMessage());

            

            return FALSE;

        }

        return TRUE;

    }

    

    protected static function CompileTemplate($template, $context)

    {

        $keys = array();

        foreach (array_keys($context) as $key)

            $keys[] = '{'.$key.'}';

    

        return str_replace($keys, array_values($context), $template);

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值