身兼老闆某門課的 TA,
這門課會給每個學生一組代碼,讓學生可以到老師網頁上查詢成績,
因此每到學期初都要寄一次信給班上全部的小朋友們。

雖然每個人收到的內容都差不多,但裡面有一組代碼總是要更改吧....
剛開始要一個一個改內容,寄到第五個人就做不下去了(超懶惰XD)
剛好 TA 的信箱是 GMail,便在網路上找了可以用 GMail 的 SMTP 發送群組信件的方式,
找到了這個 PHPMailer

我們需要的是這三個檔案 class.phpmailer.php, class.pop3.php, class.smtp.php
下載之後放到 htdocs/CodeMailer/lib/PHPMailer 裡面就可以開始實作囉~~

P.S. 不過執行一次最多只能寄十個人.....還找不到是什麼問題>"<
所以要寄給超過十個人就要手動去修改陣列內容並多執行幾次囉!

<?php    
    include("lib/PHPMailer/class.phpmailer.php");   // 匯入PHPMailer類別       
      
    $mail = new PHPMailer();                        // 建立新物件        

    $mail->IsSMTP();                                // 設定使用SMTP方式寄信        
    $mail->SMTPAuth = true;                         // 設定SMTP需要驗證

    $mail->SMTPSecure = "ssl";                      // Gmail的SMTP主機需要使用SSL連線   
    $mail->Host = "smtp.gmail.com";                 // Gmail的SMTP主機        
    $mail->Port = 465;                              // Gmail的SMTP主機的port為465      
    $mail->CharSet = "utf-8";                       // 設定郵件編碼   
    $mail->Encoding = "base64";
    $mail->WordWrap = 50;                           // 每50個字元自動斷行
          
    $mail->Username = "your.account@gmail.com";     // 設定驗證帳號        
    $mail->Password = "your.password";              // 設定驗證密碼        
          
    $mail->From = "your.account@gmail.com";         // 設定寄件者信箱        
    $mail->FromName = "MailerName";                 // 設定寄件者姓名        
          
    $mail->Subject = "Subject";                     // 設定郵件標題        
      
    $mail->IsHTML(true);                            // 設定郵件內容為HTML        


    $mailList =       // 代表收件者資訊的陣列   (信箱, 姓名, 代碼)
        array(
            array("firstPerson@mail.domain","第一個人","797659"),
            array("secondPerson@mail.domain","第二個人","997465"),
            array("thirdPerson@mail.domain","第三個人","410803"),
            array("forthPerson@mail.domain","第四個人","936128"),
            array("fifthPerson@mail.domain","第五個人","855500")
        );

        
    foreach ($mailList as $receiver) {
        $mail->AddAddress($receiver[0], $receiver[1]);  // 收件者郵件及名稱 
        $mail->Body =                                   // AddAddress(receiverMail, receiverName)
            "
            同學您好: <br/><br/>
            以下是你的成績查詢代碼,<br/>
            可利用此代碼至課程網頁查詢成績,<br/><br/>
            您的查詢代碼:<b>".$receiver[2]."</b><br/><br/>
            有任何問題請回信告知助教。
            ";
        if($mail->Send()) {                             // 郵件寄出
            echo $receiver[0]." 已收到信件!<br/>";
        } else {
            echo $mail->ErrorInfo . "<br/>";
        }
        $mail->ClearAddresses();                        // 清除使用者欄位,為下一封信做準備
    }    
?>  

簡單寄完一大堆信!超輕鬆的哈哈哈哈哈哈哈((挺胸))

arrow
arrow
    文章標籤
    phpmailer gmail maillist php
    全站熱搜

    seanstar5317 發表在 痞客邦 留言(1) 人氣()