Seite 1 von 1

emailer sendet nur an ersten Eintrag???

Verfasst: 18.09.2008 13:28
von ersthelfer
Hallo,

ich habe mein Forum um eine Funktion erweitert, mit der man EMail's an ausgewählte Benutzer senden kann. Dabei greife ich auf die emailer.php des Forums zu.

Leider sieht es so aus, als ob nur eine Mail an den ersten Eintrag gesendet wird.

Mein Code:

Code: Alles auswählen

		// Nachricht als EMail senden
		include($phpbb_root_path . 'includes/emailer.'.$phpEx);
	
		//
		// Let's do some checking to make sure that mass mail functions
		// are working in win32 versions of php.
		//
		if ( preg_match('/[c-z]:\\\.*/i', getenv('PATH')) && !$board_config['smtp_delivery'])
		{
			$ini_val = ( @phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';
	
			// We are running on windows, force delivery to use our smtp functions
			// since php's are broken by default
			$board_config['smtp_delivery'] = 1;
			$board_config['smtp_host'] = @$ini_val('SMTP');
		}
	
		$emailer = new emailer($board_config['smtp_delivery']);
		
		$emailer->from($userdata['user_email']);
		$emailer->replyto($userdata['user_email']);

		for ($i = 0; $i < count($taget); $i++)
		{
			$emailer->cc($taget[$i]);
		}

		//$email_headers = 'X-AntiAbuse: Board servername - ' . $board_config['server_name'] . "\n";
		//$email_headers .= 'X-AntiAbuse: User_id - ' . $userdata['user_id'] . "\n";
		//$email_headers .= 'X-AntiAbuse: Username - ' . $userdata['username'] . "\n";
		//$email_headers .= 'X-AntiAbuse: User IP - ' . decode_ip($user_ip) . "\n";
	
		$emailer->use_template('user_send_email');
//		$emailer->email_address($board_config['board_email']);
		$emailer->set_subject('DRK-Blomberg, Nachricht von '.$userdata['username']);
		//$emailer->extra_headers($email_headers);
	
		$emailer->assign_vars(array(
			'SITENAME' => $board_config['sitename'], 
			'BOARD_EMAIL' => $board_config['board_email'], 
			'MESSAGE' => $ms_text)
		);
		$emailer->send();
		$emailer->reset();
	
		message_die(GENERAL_MESSAGE, $lang['Email_sent'] . '<br /><br />' . sprintf($lang['Click_return_admin_index'],  '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>'));
Damit werden ausgewählte Benutzer um CC-Feld eingetragen.
Statt jetzt an alle eingetragenen Adressen eine EMail zu senden, wird nur eine EMail versendet.

In dieser EMail sind aber alle Adressen im CC-Feld aufgeführt.
Die Datei emailer.php habe ich nicht verändert.

Es gibt keine Fehlermeldung und es sind nur 8 User in der Datenbank.
Mein Provider ist REDIO.
Der SMTP-Server ist nicht ausgewählt.


Hat jemand eine Ahnung, woran das liegen kann?

Vielen Dank

ersthelfer

Verfasst: 18.09.2008 19:09
von Miriam
Wie wird denn das Array $taget an Dein Script übergeben?
Also wie sieht das Formular dazu aus?

Verfasst: 19.09.2008 06:41
von ersthelfer
Ich glaube eigentlich nicht, dass es an dem $taget liegt.
Die Einträge im CC-Feld scheinen richtig zu sein.

Hier mal der komplette Code mail2many.php

mail2many.php


und mail2many_body.tpl

mail2many_body.tpl

Verfasst: 19.09.2008 08:03
von Dr.Death
Du hast zuviel Code gepostet, was das Thema unnötig in die Länge zieht und unübersichtlich macht.
Es wäre besser die Datei bzw. den Code als .txt Datei abzuspeichern und dann hier einen Link zu posten - siehe auch KB:datei .

Bitte passe deinen Beitrag an, lies Dir den phpBB.de-Knigge und den Hinweis zur Fragestellung und Rechtschreibung durch und beachte diese zukünftig.

Verfasst: 19.09.2008 17:44
von Miriam
Der Server unter drkblomberg.redio.de braucht zu lange, um eine Antwort zu senden.
Schade. :cry:

Verfasst: 19.09.2008 19:19
von ersthelfer
Miriam hat geschrieben:
Der Server unter drkblomberg.redio.de braucht zu lange, um eine Antwort zu senden.
Schade. :cry:
Jetzt müßte es gehen

Verfasst: 19.09.2008 21:41
von Miriam
Also das sieht korrekt so aus und die CC-Empfänger werden auch richtig übergeben/übernommen.

Hast Du mal ein anderes email-Script gestestet (auf Deinem Serrver)?