Nie działa kolejka emaili

Forum przeznaczone na rozmowy między autorami modyfikacji i inne pytania związane z poważniejszą ingerencją w kod phpBB 3.0.x.
lukasamd
Posty: 75
Rejestracja: 01 kwietnia 2007, 17:41
Kontakt:

Nie działa kolejka emaili

Post autor: lukasamd » 13 sierpnia 2010, 09:21

Witam,
nie działa mi kolejkowanie podczas wysyłania wiadomości email.
Oto mój kod używający funkcji phpBB3:

Kod: Zaznacz cały

      include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
      $messenger = new messenger();
      $max_emails = 80;
      $i = 0;
      $j = 0;
      $email_list = array();
      $email_date = strftime('%A, %e %B %Y');
      $email_subject = stripslashes($data_news['news_subject']);
      

      // Get emails list
      $sql = 'SELECT *
              FROM ' . NEWSLETTER_SUBS_STABLE . '
              ORDER BY newsletter_sub_id DESC';
      $result = $db->sql_query($sql);

      // Build emails array
      while ($row = $db->sql_fetchrow($result))
      {
        if ($i == $max_emails)
        {
          $j++;
          $i = 0;
        }
        
        $email_list[$j][$i]['email'] = $row['newsletter_sub_mail']; 
        $i++;
      }
      
      // Sending emails
			for ($i = 0, $size = sizeof($email_list); $i < $size; $i++)
			{
				for ($j = 0, $list_size = sizeof($email_list[$i]); $j < $list_size; $j++)
				{
					$email_row = $email_list[$i][$j];

					$messenger->{((sizeof($email_list[$i]) == 1) ? 'to' : 'bcc')}($email_row['email'], $email_row['email']);
        }

        $messenger->template('newsletter', 'pl');
				$messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']);
				$messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']);
				$messenger->headers('X-AntiAbuse: Username - ' . $user->data['username']);
				$messenger->headers('X-AntiAbuse: User IP - ' . $user->ip);
        $messenger->assign_vars(array(
          'SUBJECT'   => $email_subject,
          'NEWSLETTER'   => $data_news['news_news'],
          'DATE'   => $email_date,
        ));
        $messenger->send();
			}
			$messenger->save_queue();
			unset($email_list);
Maks. wielkość paczki emaili ustawiona w ACP: 80.
Przerwa kolejki (ustawione z poziomu bazy): 1800 (sekund).

Wysyłam około 600 emaili.
Kiedy uruchamiam skrypt, w katalogu cache zgodnie z założeniami pojawia się plik queue od kolejki, ale wiadomości są wysyłane w ciągu 1-2 minut no i plik zaraz znika...
Oczywiście w efekcie otrzymuję taką oto piękną wiadomość:
Domain mydomain has exceeded the max emails per hour (500) allowed. Message discarded.
Coś ja zrobiłem źle, czy to jednak wina skryptu?

Zablokowany

Wróć do „Dla deweloperów”