PHPMailer发送邮件

/ 0评 / 0

PHPMailer算是PHP中的一个发邮件的插件吧,介绍一下使用方法吧。
我这里使用的是ThinkPHP做的例子,所以我将PHPMailer的包放在了ThinkPHP->Library->Vender下面;
然后在Common->Config里面创建了一个配置文件email.php,并且加载到项目里面(别告诉我不会呀):

return array(
        // 配置邮件发送服务器
        'MAIL_HOST' =>'ssl://smtp.qq.com:465',//smtp服务器的名称,推荐使用腾讯的smtp
        'MAIL_SMTPAUTH' =>TRUE, //启用smtp认证
        'MAIL_USERNAME' =>'',//你的邮箱名
        'MAIL_FROM' =>'',//发件人地址
        'MAIL_FROMNAME'=>'',//发件人姓名
        'MAIL_PASSWORD' =>'',//邮箱密码,注意是否开启了三方登录验证什么的
        'MAIL_CHARSET' =>'utf-8',//设置邮件编码
        'MAIL_ISHTML' =>TRUE, // 是否HTML格式邮件
        'MAIL_USERS'  => array(
            'xudong11.25@qq.com'//接收的邮箱
        )
);

然后在Common->Common里面的function.php(没有的话自己创建)添加下面发送邮件的方法,这里可是支持批量发送滴:

function sendMoreMail($to, $title, $content) {
    Vendor('PHPMailer.PHPMailerAutoload');
    $mail = new PHPMailer(); //实例化
    $mail->IsSMTP(); // 启用SMTP
    //$mail->SMTPDebug = 1;
    $mail->Host=C('MAIL_HOST'); //smtp服务器的名称
    $mail->SMTPAuth = C('MAIL_SMTPAUTH'); //启用smtp认证
    $mail->Username = C('MAIL_USERNAME'); //你的邮箱名
    $mail->Password = C('MAIL_PASSWORD') ; //邮箱密码
    $mail->From = C('MAIL_FROM'); //发件人地址(也就是你的邮箱地址)
    $mail->SMTPSecure = 'ssl'; //设置使用ssl加密方式登录鉴权
    $mail->Port = 465; // SMTP服务器的端口号
    $mail->FromName = C('MAIL_FROMNAME'); //发件人姓名
    for ($i = 0; $i < count($to); $i++){
        $mail->AddAddress($to[$i],"尊敬的用户");
    }
    $mail->WordWrap = 50; //设置每行字符长度
    $mail->IsHTML(C('MAIL_ISHTML')); // 是否HTML格式邮件
    $mail->CharSet=C('MAIL_CHARSET'); //设置邮件编码
    $mail->Subject =$title; //邮件主题
    $mail->Body = $content; //邮件内容
    $mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示
    return($mail->Send());
}

在相应的控制器里面做发送邮件的操作:

public function addOrder(){
        if(!IS_POST)$this->error("请求方式错误");
        $data['xingming'] = I('xingming');
        $data['dianhua'] = I('dianhua');
        $data['huji'] = I('huji');
        $data['time'] = time();
        $users = C('MAIL_USERS');
        $msg = '预约用户信息';
        $info = '姓名:' . $data['xingming'] . ';
手机号:' . $data['dianhua'] . ';
预约信息:' . $data['huji']; sendMoreMail($users,$msg,$info); }

评论已关闭。