PHPmailer類的使用

  1. 實現須要下載相關文件:在項目目錄中運行
    composer  require  phpmailer/phpmailer

    還須要根據PHPinfo(); 確認是否開啓了socket擴展和OpenSSL擴展php

  2. 在文件中引入類文件
    <?php
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;

    require './vendor/phpmailer/phpmailer/src/Exception.php'; //文件相對路徑
    require './vendor/phpmailer/phpmailer/src/PHPMailer.php';
    require './vendor/phpmailer/phpmailer/src/SMTP.php';

     

  3. 使用QQ郵箱爲例,須要開啓SMTP服務,登陸QQ郵箱最上方的‘’設置‘’--》帳戶,須要受權碼直接生成便可。
  4. 具體代碼以下:
    <?php
    
    use PHPMailer\PHPMailer\PHPMailer; 
    use PHPMailer\PHPMailer\Exception; 
    
    require './vendor/phpmailer/phpmailer/src/Exception.php'; 
    require './vendor/phpmailer/phpmailer/src/PHPMailer.php'; 
    require './vendor/phpmailer/phpmailer/src/SMTP.php'; 
    
    $mail = new PHPMailer(true);                              // Passing `true` enables exceptions 傳true則表示啓用exception
    try { 
        //服務器配置 
        $mail->CharSet ="UTF-8";                     //設定郵件編碼 
        $mail->SMTPDebug = 1;                        // 調試模式輸出 
        $mail->isSMTP();                             // 使用SMTP 
        // $mail->Host = 'smtp.163.com';                // SMTP服務器 
        $mail->Host = 'smtp.qq.com';
        $mail->SMTPAuth = true;                      // 容許 SMTP 認證 ,必須是true
        $mail->Username = '999999@qq.com';                // SMTP 用戶名  即郵箱的用戶名 smtp登陸的帳號 QQ郵箱便可
        $mail->Password = 'qq郵箱生成的受權碼';             // SMTP 密碼  部分郵箱是受權碼(例如163郵箱) 
        $mail->SMTPSecure = 'ssl';                    // 容許 TLS 或者ssl協議 
        $mail->Port = 465;                            // 服務器端口 25 或者465 具體要看郵箱服務器支持 
    
        $mail->setFrom('999999@qq.com', 'Mailer');  //發件人 
        $mail->addAddress('333333@qq.com', 'Joe');  // 收件人 
        //$mail->addAddress('ellen@example.com');  // 可添加多個收件人 
        $mail->addReplyTo('999999@qq.com', 'info'); //回覆的時候回覆給哪一個郵箱 建議和發件人一致 
        //$mail->addCC('cc@example.com');                    //抄送 
        //$mail->addBCC('bcc@example.com');                    //密送 
    
        //發送附件 
        // $mail->addAttachment('../xy.zip');         // 添加附件 
        // $mail->addAttachment('../thumb-1.jpg', 'new.jpg');    // 發送附件而且重命名 
    
        //Content 
        $mail->isHTML(true);                                  // 是否以HTML文檔格式發送  發送後客戶端可直接顯示對應HTML內容 
        $mail->Subject = '這裏是郵件標題,恩恩' . time(); 
        $mail->Body    = '<h1>這裏是郵件內容</h1>' . date('Y-m-d H:i:s'); 
        $mail->AltBody = '若是郵件客戶端不支持HTML則顯示此內容'; 
    
        $mail->send(); 
        echo '郵件發送成功'; 
    } catch (Exception $e) { 
        echo '郵件發送失敗: ', $mail->ErrorInfo; 
    }

    經測試OK。後期能夠封裝一個類,只須要傳幾個參數便可運行。封裝可參考:https://www.cnblogs.com/woider/p/6980456.htmlhtml

相關文章
相關標籤/搜索