2013-02-21 47 views
0

我在註冊過程中具有以下功能,可在完成註冊過程後發送並通過電子郵件發送給用戶。我希望電子郵件的文本根據他們是什麼類型的用戶而有所不同。我有企業用戶和個人用戶,並在數據庫中將其標識爲1或0.這就是我迄今爲止的情況。將mysql查詢添加到此電子郵件功能

function SendBusWelcomeEmail(&$user_rec) 
    { 
$result = mysql_query("SELECT business FROM users") 
       or die(mysql_error()); 

       while ($row = mysql_fetch_array($result)) 
      { 

      $actiontype = $row['business']; 
      switch ($actiontype) 
{ 
case "0": 
     $mailer = new PHPMailer(); 

     $mailer->CharSet = 'utf-8'; 

     $mailer->AddAddress($user_rec['email'],$user_rec['name']); 

     $mailer->Subject = "Welcome to ".$this->sitename; 

     $mailer->From = $this->GetFromAddress();   

     $mailer->Body ="Hello ".$user_rec['name']."\r\n\r\n". 
     "Welcome! Your registration with ".$this->sitename." is completed.\r\n". 
     "\r\n". 
     "Regards,\r\n". 
     "Webmaster\r\n". 
     $this->sitename; 

     if(!$mailer->Send()) 
     { 
      $this->HandleError("Failed sending user welcome email."); 
      return false; 
     } 
     return true; 
break; 
case "1": 
    $mailer = new PHPMailer(); 

     $mailer->CharSet = 'utf-8'; 

     $mailer->AddAddress($user_rec['email'],$user_rec['name']); 

     $mailer->Subject = "Welcome to ".$this->sitename; 

     $mailer->From = $this->GetFromAddress();   

     $mailer->Body ="Hello ".$user_rec['name']."\r\n\r\n". 
     "Welcome! thanks for your business etc etc with ".$this->sitename." is completed.\r\n". 
     "\r\n". 
     "Regards,\r\n". 
     "Webmaster\r\n". 
     $this->sitename; 

     if(!$mailer->Send()) 
     { 
      $this->HandleError("Failed sending user welcome email."); 
      return false; 
     } 
     return true; 
    } 
+1

有問題嗎? – 2013-02-21 19:05:21

+0

你的問題是什麼? – 2013-02-21 19:05:41

+0

問題是我想根據用戶類型,業務或個人發送不同的電子郵件。這是正確的方法嗎? – Steven 2013-02-21 19:06:35

回答

0

也許是這樣的。

function SendBusWelcomeEmail(&$user_rec) 
{ 
    $mailer = new PHPMailer(); 
    $mailer->CharSet = 'utf-8'; 
    $mailer->AddAddress($user_rec['email'], $user_rec['name']); 
    $mailer->Subject = "Welcome to ".$this->sitename; 
    $mailer->From = $this->GetFromAddress();   

    $result = mysql_query("SELECT business FROM users") or die(mysql_error()); 
    if (mysql_num_rows($result)) 
    { 
     $row = mysql_fetch_assoc($result); 

     $actiontype = $row['business']; 
     switch ($actiontype) 
     { 
      case "0": 
       $mailer->Body = "Hello ".$user_rec['name']."\r\n\r\n"."Welcome! Your registration with ".$this->sitename." is completed.\r\n"."\r\n"."Regards,\r\n"."Webmaster\r\n".$this->sitename; 
       break; 

      case "1": 
       $mailer->Body = "Hello ".$user_rec['name']."\r\n\r\n"."Welcome! thanks for your business etc etc with ".$this->sitename." is completed.\r\n"."\r\n"."Regards,\r\n"."Webmaster\r\n".$this->sitename; 
       break; 
     } 

     if (!$mailer->Send()) 
     { 
      $this->HandleError("Failed sending user welcome email."); 
      return false; 
     } 
    } 

    return true; 
} 

我假設查詢應該包含某種where子句,以便每次不查詢整個用戶表。自從您發送電子郵件後返回,我刪除了while循環。

相關問題