PHPMailer phpmailer composer phpmailer

用think PHP5.1发送邮件,为方便项目前后台都可调用,我这边写在了common.php里(application/common.php)


composer  require  phpmailer/phpmailer


use PHPMailer\PHPMailer\PHPMailer;


 * @function    sendEmail

 * @intro        发送邮件(带附件)

 * @param $email     接收邮箱

 * @param $title     邮件标题

 * @param $from_name     发件人

 * @param $content     邮件内容

 * @param $attachmentFile     附件 (string | array)

 * @return  array


function sendEmail($email='', $title='', $from_name='', $content='', $attachmentFile=''){


    //Create a new PHPMailer instance

    $mail                       = new PHPMailer;

    //Tell PHPMailer to use SMTP


    //Enable SMTP debugging

    // 0 = off (for production use)

    // 1 = client messages

    // 2 = client and server messages

    $mail->SMTPDebug            = 0;

    //Ask for HTML-friendly debug output

    $mail->Debugoutput          = 'html';


    $mail->CharSet              = 'UTF-8';

    //Set the hostname of the mail server

    $mail->Host                 = "";//请填写你的邮箱服务器

    //Set the SMTP port number - likely to be 25, 465 or 587

    $mail->Port                 = 25;//端口号

    //Whether to use SMTP authentication

    $mail->SMTPAuth             = true;

    //Username to use for SMTP authentication

    $mail->Username             = "";//发件邮箱用户名

    //Password to use for SMTP authentication

    $mail->Password             = "";//发件邮箱密码

    //Set who the message is to be sent from

    $mail->setFrom('发件邮箱用户名', $from_name);

    //Set an alternative reply-to address(用户直接回复邮件的地址)

    $mail->addReplyTo('发件邮箱用户名', $from_name);

    //Set who the message is to be sent to


    //Set the subject line

    $mail->Subject              = $title;

    //Read an HTML message body from an external file, convert referenced images to embedded,

    //convert HTML into a basic plain-text alternative body


    //Replace the plain text body with one created manually

    $mail->AltBody              = '';


        for ($i=0; $i < count($attachmentFile); $i++) { 




        if($attachmentFile !=''){

            //Attach an image file

            $mail->addAttachment($attachmentFile, 'Filename');



    //send the message, check for errors

    if (!$mail->send()) {

        $status                 = 0;

        $data                   = "邮件发送失败" . $mail->ErrorInfo;;

    } else {

        $status                 = 1;

        $data                   = "邮件发送成功";   


    return ['status'=>$status,'data'=>$data];//返回值(可选)



sendEmail($email, '邮件标题', '发件人简称', $content, Env::get('root_path').'public/uploads/file/'.$file, 'file.jpg');

  • 不好使大哥

    2019-09-21 11:57:21