thinkphp3.2.2通过PHPMailer发送邮件

发送邮件

下载开源项目PHPMailer

把着三个文件拷贝到tp项目下

把文件名称改为(php文件里面的类的名字一致)

在每个文件的上方加上命名空间(根据对应的文件位置来,这里是Home模块下的Lib文件夹下)

namespace Home\Lib;

端口号的设置,没有使用ssl加密方式的话,用25端口号

写一个配置文件

return array(
    //'配置项'=>'配置值'

    //smtp服务器,这里用的是qq的,要邮箱开通smtp才能用
    'SMTP_HOST'                => 'smtp.qq.com',        //SMTP服务器

    //smtp服务器的端口号,因为没有使用ssl加密,所以是这个
    'SMTP_PORT'                => 25,                //SMTP服务器端口

    //这里就是邮箱的帐号了
    'SMTP_USER'                => 'xxxxxx@qq.com',        //SMTP服务器用户名

   //邮箱密码
    'SMTP_PASS'                => '********',            //SMTP服务器密码

    //这里的email好像回拿去和上面密码校验,所以要和上面一直
    'FROM_EMAIL'               => 'xxxxxx@qq.com',        //发件人EMAIL

    //这里是发送过去的邮件显示的名称,可以随便填
    'FROM_NAME'                => 'xxxx',        //发件人名称

    //下面两个没用到,不知道是做什么的
    'REPLY_EMAIL'              => '',                    //回复EMAIL(留空则为发件人EMAIL)
    'REPLY_NAME'               => '',                    //回复名称(留空则为发件人名称)
);



函数如下

//发送邮件
function send_email($to,$name,$content){

    $mail=new \Home\Lib\PHPMailer();

    $mail->IsSMTP(); // 使用SMTP方式发送

    $mail->Host = C('SMTP_HOST'); // 您的企业邮局域名

    $mail->SMTPAuth = true; // 启用SMTP验证功能

    $mail->Username = C('SMTP_USER'); // 发送方邮件地址(请填写完整的email地址)

    $mail->Password = C('SMTP_PASS'); //发送放邮件密码

    $mail->Port=C('SMTP_PORT');

    $mail->From = C('FROM_EMAIL'); //发送方邮件地址

    $mail->FromName = C('FROM_NAME');

    $mail->AddAddress("$to", "$name");

    //收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")
    $mail->CharSet = "utf-8";

    $mail->Subject = "测试"; //邮件标题

    $mail->Body = $content; //邮件内容

    $mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加信息,可以省略

    if(!$mail->Send())
    {
        return $mail->ErrorInfo;
    }

    return "ok";
} 

使用

$test=send_email('lisi@qq.com','lisi','http://www.blog.com">点击');

红色超链接部分,要使用这样的格式http://www.blog.com,开始用http://blog点击之后不跳转



在发送邮件失败的时候,在自己抛出异常之前phpmailer类回自己输出异常信息,有时需要返回json数据时会比较麻烦,如何屏蔽?

在phpmailer类的send方法中有

 //异常信息输出
      //echo $e->getMessage()."\n";
      return false;

屏蔽掉这个输出语句就ok了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值