Changeset 14676 for branches/beta/html/admin/mail/sendmail.php
- Timestamp:
- 2007/06/14 22:01:13 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/beta/html/admin/mail/sendmail.php
r11808 r14676 11 11 12 12 if(MELMAGA_SEND != true) { 13 exit; 14 } 15 13 exit; 14 } 15 16 //¥ê¥¢¥ë¥¿¥¤¥àÇÛ¿®¥â¡¼¥É¤¬¥ª¥ó¤Î¤È¤ 16 17 if($_GET['mode'] == 'now') { 17 18 18 //----¡¡Ì¤Á÷¿®¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë 19 $time_data = $conn->getAll( "SELECT send_id FROM dtb_send_history WHERE complete_count = 0 AND del_flg = 0 ORDER BY send_id ASC, start_date ASC" ); 19 20 } else { 20 21 // postgresql ¤È mysql ¤È¤ÇSQL¤ò¤ï¤±¤ë 22 if (DB_TYPE == "pgsql") { 23 $sql = "SELECT send_id FROM dtb_send_history "; 24 $sql.= "WHERE start_date BETWEEN current_timestamp + '- 5 minutes' AND current_timestamp + '5 minutes' AND del_flg = 0 ORDER BY send_id ASC, start_date ASC"; 25 }else if (DB_TYPE == "mysql") { 26 $sql = "SELECT send_id FROM dtb_send_history "; 27 $sql.= "WHERE start_date BETWEEN date_add(now(),INTERVAL -5 minute) AND date_add(now(),INTERVAL 5 minute) AND del_flg = 0 ORDER BY send_id ASC, start_date ASC"; 28 } 29 //----¡¡30ʬËè¤ËCron¤¬Á÷¿®»þ´Ö¥Ç¡¼¥¿³Îǧ 30 $time_data = $conn->getAll($sql); 31 } 32 21 22 // postgresql ¤È mysql ¤È¤ÇSQL¤ò¤ï¤±¤ë 23 if (DB_TYPE == "pgsql") { 24 $sql = "SELECT send_id FROM dtb_send_history "; 25 $sql.= "WHERE start_date BETWEEN current_timestamp + '- 5 minutes' AND current_timestamp + '5 minutes' AND del_flg = 0 ORDER BY send_id ASC, start_date ASC"; 26 }else if (DB_TYPE == "mysql") { 27 $sql = "SELECT send_id FROM dtb_send_history "; 28 $sql.= "WHERE start_date BETWEEN date_add(now(),INTERVAL -5 minute) AND date_add(now(),INTERVAL 5 minute) AND del_flg = 0 ORDER BY send_id ASC, start_date ASC"; 29 } 30 //----¡¡30ʬËè¤ËCron¤¬Á÷¿®»þ´Ö¥Ç¡¼¥¿³Îǧ 31 $time_data = $conn->getAll($sql); 32 } 33 34 //̤Á÷¿®¥á¡¼¥ë¤Î¿ô 33 35 $count = count($time_data); 34 36 37 //̤Á÷¿®¥á¡¼¥ë¤¬¤¢¤ì¤ÐÁ÷¿®½èÍý¤ò³¤±¤ë¡£¤Ê¤±¤ì¤ÐÃæÃǤ¹¤ë¡£ 35 38 if( $count > 0 ){ 36 print("start sending <br />\n"); 39 print("start sending <br />\n"); 40 37 41 } else { 38 39 40 } 41 42 //---- ¥á¡¼¥ëÁ÷¿® 43 for( $i = 0; $i < count( $time_data ); $i++ ) {44 45 46 47 48 49 $mail_data[] = $conn->getAll( $sql, array($time_data[$i]["send_id"] ) );50 42 print("not found <br />\n"); 43 exit; 44 } 45 46 //---- ¥á¡¼¥ëÁ÷¿®½àÈ÷ 47 for( $i = 0; $i < $count; $i++ ) { 48 49 $sql = "SELECT * FROM dtb_send_customer WHERE send_id = ? AND (send_flag = 2 OR send_flag IS NULL)"; 50 $list_data[] = $conn->getAll( $sql, array( $time_data[$i]["send_id"] ) ); 51 52 $sql = "SELECT * FROM dtb_send_history WHERE send_id = ?"; 53 $mail_data[] = $conn->getAll( $sql, array( $time_data[$i]["send_id"] ) ); 54 51 55 } 52 56 … … 55 59 $objMail = new GC_SendMail(); 56 60 61 62 57 63 //----¡¡¥á¡¼¥ëÀ¸À®¤ÈÁ÷¿® 58 for( $i = 0; $i < count( $time_data ); $i++ ) {59 60 61 62 63 64 64 for( $i = 0; $i < $count; $i++ ) { 65 66 for( $j = 0; $j < count( $list_data[$i] ); $j ++ ) { 67 68 $customerName = ""; 69 $mailBody = ""; 70 $sendFlag = ""; 65 71 66 72 //-- ¸ÜµÒ̾¤ÎÊÑ´¹ … … 75 81 $mailBody = ereg_replace( "{name}", $customerName , $mail_data[$i][0]["body"] ); 76 82 77 //-- ¥Æ¥¥¹¥È¥á¡¼¥ëÇÛ¿®¤Î¾ì¹ç 78 if( $mail_data[$i][0]["mail_method"] == 2 ) { 79 80 $sendResut = MAIL_SENDING( 81 $list_data[$i][$j]["email"] //¡¡¸ÜµÒ°¸Àè 82 ,$subjectBody //¡¡Subject 83 ,$mailBody //¡¡¥á¡¼¥ëËÜʸ 84 ,$objSite->data["email03"] //¡¡Á÷¿®¸µ¥á¡¼¥ë¥¢¥É¥ì¥¹ 85 ,$objSite->data["company_name"] //¡¡Á÷¿®¸µÌ¾ 86 ,$objSite->data["email03"] //¡¡reply_to 87 ,$objSite->data["email04"] //¡¡return_path 88 ,$objSite->data["email04"] //¡¡errors_to 89 ); 90 91 //-- HTML¥á¡¼¥ëÇÛ¿®¤Î¾ì¹ç 92 } elseif( $mail_data[$i][0]["mail_method"] == 1 || $mail_data[$i][0]["mail_method"] == 3) { 93 94 $sendResut = HTML_MAIL_SENDING( 95 $list_data[$i][$j]["email"] 96 ,$subjectBody 97 ,$mailBody 98 ,$objSite->data["email03"] //¡¡Á÷¿®¸µ¥á¡¼¥ë¥¢¥É¥ì¥¹ 99 ,$objSite->data["company_name"] //¡¡Á÷¿®¸µÌ¾ 100 ,$objSite->data["email03"] //¡¡reply_to 101 ,$objSite->data["email04"] //¡¡return_path 102 ,$objSite->data["email04"] //¡¡errors_to 103 ); 104 } 105 106 //-- Á÷¿®´°Î»¤Ê¤é1¡¢¼ºÇԤʤé0¤ò¥á¡¼¥ëÁ÷¿®·ë²Ì¥Õ¥é¥°¤È¤·¤ÆDB¤ËÁÞÆþ 107 if( ! $sendResut ){ 108 $sendFlag = "-1"; 83 84 //-- ¥á¥ë¥Þ¥¬ÇÛ¿®¤ò¥Ö¥ì¥¤¥óÏ¢·È¤Ç¹Ô¤¦¾ì¹ç 85 if(lfGetBlayn()){ 86 87 //-- ʸ»ú¤òÆüËܸì¤ËÀßÄê 88 Mb_language( "Japanese" ); 89 90 //-- Á÷¿®¤¹¤ë¥á¡¼¥ë¤ÎÆâÍƤÈÁ÷¿®Àè 91 $sendResut = array( 92 "to" => $list_data[$i][$j]["email"] //¡¡¸ÜµÒ°¸Àè 93 ,"subject" => mb_encode_mimeheader($subjectBody) //¡¡Subject 94 ,"from" => $objSite->data["email03"] //¡¡Á÷¿®¸µ¥á¡¼¥ë¥¢¥É¥ì¥¹ 95 ,"replay_to" => $objSite->data["email03"] //¡¡reply_to 96 ,"return_path" => $objSite->data["email04"] //¡¡return_path 97 ); 98 //-- ¥á¥Ã¥»¡¼¥¸¤Î¹½ÃÛ 99 $html_param['head_charset'] = "ISO-2022-JP"; 100 $html_param['html_encoding'] = "ISO-2022-JP"; 101 $html_param['html_charset'] = "JIS"; 102 103 //-- ¥Ö¥ì¥¤¥óSMTP¥µ¡¼¥Ð¡¼IP¥¢¥É¥ì¥¹ 104 $sql = "SELECT blayn_ip FROM dtb_blayn"; 105 $host = $conn->getAll($sql); 106 $param = array( 107 'host' => $host[0][blayn_ip] 108 ,'port' => SMTP_PORT_BLAYN 109 ); 110 111 //-- Mail_mime¥ª¥Ö¥¸¥§¥¯¥ÈºîÀ® 112 $mail_mimeObj = new Mail_mime(); 113 114 //-- Mail_mime¥ª¥Ö¥¸¥§¥¯¥È¤ËHTML¤ÎËÜʸ¤òÄɲà 115 $mailBody = mb_convert_encoding($mailBody, "JIS", CHAR_CODE); 116 $mail_mimeObj->setHTMLBody($mailBody); 117 118 $body = $mail_mimeObj->get($html_param); 119 $header = $mail_mimeObj->headers($sendResut); 120 121 //-- PEAR::Mail¤ò»È¤Ã¤Æ¥á¡¼¥ëÁ÷¿®¥ª¥Ö¥¸¥§¥¯¥ÈºîÀ® 122 $mailObj =& Mail::factory("smtp", $param); 123 // ¥á¡¼¥ëÁ÷¿® 124 $result = $mailObj->send($sendResut["to"], $header, $body); 125 109 126 } else { 110 $sendFlag = "1"; 111 112 // ´°Î»¤ò1¤³Áý¤ä¤¹ 113 $sql = "UPDATE dtb_send_history SET complete_count = complete_count + 1 WHERE send_id = ?"; 114 $conn->query( $sql, array($mail_data[$i][0]["send_id"]) ); 115 } 116 117 $conn->query( $sql_flag, array( $sendFlag, $mail_data[$i][0]["send_id"], $list_data[$i][$j]["customer_id"] ) ); 118 119 120 121 } 122 123 //--- ¥á¡¼¥ëÁ´·ïÁ÷¿®´°Î»¸å¤Î½èÍý 124 $completeSql = "UPDATE dtb_send_history SET end_date = now() WHERE send_id = ?"; 125 $conn->query( $completeSql, array( $time_data[$i]["send_id"] ) ); 126 127 //---¡¡Á÷¿®´°Î»¡¡Êó¹ð¥á¡¼¥ë 128 $compData = date("Yǯm·îdÆüH»þiʬ" . " ²¼µ¥á¡¼¥ë¤ÎÇÛ¿®¤¬´°Î»¤·¤Þ¤·¤¿¡£" ); 129 130 HTML_MAIL_SENDING( 131 $objSite->data["email03"] 132 ,$compData 133 ,$mail_data[$i][0]["body"] 134 ,$objSite->data["email03"] //¡¡Á÷¿®¸µ¥á¡¼¥ë¥¢¥É¥ì¥¹ 135 ,$objSite->data["company_name"] //¡¡Á÷¿®¸µÌ¾ 136 ,$objSite->data["email03"] //¡¡reply_to 137 ,$objSite->data["email04"] //¡¡return_path 138 ,$objSite->data["email04"] //¡¡errors_to 139 ); 140 141 if ($_GET['mode'] = "now") { 142 header("Location: " . URL_DIR . "admin/mail/history.php"); 143 } 144 echo "complete\n"; 127 //-- ¥Æ¥¥¹¥È¥á¡¼¥ëÇÛ¿®¤Î¾ì¹ç 128 if( $mail_data[$i][0]["mail_method"] == 2 ) { 129 130 $sendResut = MAIL_SENDING( 131 $list_data[$i][$j]["email"] //¡¡¸ÜµÒ°¸Àè 132 ,$subjectBody //¡¡Subject 133 ,$mailBody //¡¡¥á¡¼¥ëËÜʸ 134 ,$objSite->data["email03"] //¡¡Á÷¿®¸µ¥á¡¼¥ë¥¢¥É¥ì¥¹ 135 ,$objSite->data["company_name"] //¡¡Á÷¿®¸µÌ¾ 136 ,$objSite->data["email03"] //¡¡reply_to 137 ,$objSite->data["email04"] //¡¡return_path 138 ,$objSite->data["email04"] //¡¡errors_to 139 ); 140 141 142 //-- HTML¥á¡¼¥ëÇÛ¿®¤Î¾ì¹ç 143 } elseif( $mail_data[$i][0]["mail_method"] == 1 || $mail_data[$i][0]["mail_method"] == 3) { 144 145 $sendResut = HTML_MAIL_SENDING( 146 $list_data[$i][$j]["email"] 147 ,$subjectBody 148 ,$mailBody 149 ,$objSite->data["email03"] //¡¡Á÷¿®¸µ¥á¡¼¥ë¥¢¥É¥ì¥¹ 150 ,$objSite->data["company_name"] //¡¡Á÷¿®¸µÌ¾ 151 ,$objSite->data["email03"] //¡¡reply_to 152 ,$objSite->data["email04"] //¡¡return_path 153 ,$objSite->data["email04"] //¡¡errors_to 154 ); 155 } 156 } 157 158 //-- Á÷¿®´°Î»¤Ê¤é1¡¢¼ºÇԤʤé-1¤ò¥á¡¼¥ëÁ÷¿®·ë²Ì¥Õ¥é¥°¤È¤·¤ÆDB¤ËÁÞÆþ 159 if( ! $sendResut ){ 160 $sendFlag = "-1"; 161 } else { 162 $sendFlag = "1"; 163 164 // ´°Î»¤ò 1 Áý¤ä¤¹ 165 $sql = "UPDATE dtb_send_history SET complete_count = complete_count + 1 WHERE send_id = ?"; 166 $conn->query( $sql, array($mail_data[$i][0]["send_id"])); 167 } 168 169 $conn->query( $sql_flag, array( $sendFlag, $mail_data[$i][0]["send_id"], $list_data[$i][$j]["customer_id"] ) ); 170 171 172 173 } 174 175 //--- ¥á¡¼¥ëÁ´·ïÁ÷¿®´°Î»¸å¤Î½èÍý 176 $completeSql = "UPDATE dtb_send_history SET end_date = now() WHERE send_id = ?"; 177 $conn->query( $completeSql, array( $time_data[$i]["send_id"] ) ); 178 179 //---¡¡Á÷¿®´°Î»¡¡Êó¹ð¥á¡¼¥ë 180 $compData = date("Yǯm·îdÆüH»þiʬ" . " ²¼µ¥á¡¼¥ë¤ÎÇÛ¿®¤¬´°Î»¤·¤Þ¤·¤¿¡£" ); 181 182 HTML_MAIL_SENDING( 183 $objSite->data["email03"] 184 ,$compData 185 ,$mail_data[$i][0]["body"] 186 ,$objSite->data["email03"] //¡¡Á÷¿®¸µ¥á¡¼¥ë¥¢¥É¥ì¥¹ 187 ,$objSite->data["company_name"] //¡¡Á÷¿®¸µÌ¾ 188 ,$objSite->data["email03"] //¡¡reply_to 189 ,$objSite->data["email04"] //¡¡return_path 190 ,$objSite->data["email04"] //¡¡errors_to 191 ); 192 193 if ($_GET['mode'] = "now") { 194 header("Location: " . URL_DIR . "admin/mail/history.php"); 195 } 196 echo "complete\n"; 145 197 146 198 } … … 150 202 function MAIL_SENDING( $to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to="", $bcc="", $cc ="" ) { 151 203 152 153 $mail_obj = new GC_SendMail(); 154 $mail_obj->setItem( $to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to, $bcc, $cc ); 155 156 if( $mail_obj->sendMail() ) { 157 return true; 158 } 159 204 $mail_obj = new GC_SendMail(); 205 $mail_obj->setItem( $to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to, $bcc, $cc ); 206 207 if( $mail_obj->sendMail() ) { 208 return true; 209 } 210 160 211 } 161 212 … … 163 214 function HTML_MAIL_SENDING( $to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to="", $bcc="", $cc ="" ) { 164 215 165 166 $html_mail_obj = new GC_SendMail(); 167 $html_mail_obj->setItemHtml( $to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to, $bcc, $cc ); 168 169 170 if( $html_mail_obj->sendHtmlMail() ) { 171 return true; 172 } 173 174 } 175 176 216 $html_mail_obj = new GC_SendMail(); 217 $html_mail_obj->setItemHtml( $to, $subject, $body, $fromaddress, $from_name, $reply_to, $return_path, $errors_to, $bcc, $cc ); 218 219 if( $html_mail_obj->sendHtmlMail() ) { 220 return true; 221 } 222 223 } 224 225 // ¥Ö¥ì¥¤¥ó¥¨¥ó¥¸¥ó¤¬ÀßÄêºÑ¤ß¤«³Îǧ 226 function lfGetBlayn() { 227 228 $objQuery = new SC_Query(); 229 230 $arrRet[now_version] = $objQuery->count("dtb_module", "now_version = (SELECT now_version FROM dtb_module WHERE main_php='blayn/blayn.php')"); 231 $arrRet[blayn_ip] = $objQuery->count("dtb_blayn"); 232 233 if (!empty($arrRet[now_version]) && !empty($arrRet[blayn_ip])) { 234 return true; 235 } else { 236 return false; 237 } 238 } 177 239 ?>
Note: See TracChangeset
for help on using the changeset viewer.