Seite 1 von 1

email funktion des phpbb selbst benutzen

Verfasst: 22.09.2004 11:36
von Kasi099
ich will die email funktion des phpbb benutzen
dazu habe ich folgendes script greschrieben:

Code: Alles auswählen

<?php
define('IN_PHPBB', 1);

if( !empty($setmodules) )
{
	$filename = basename(__FILE__);
	$module['General']['Mass_Email'] = $filename;
	
	return;
}

//
// Load default header
//
$no_page_header = TRUE;
$phpbb_root_path = './';
require($phpbb_root_path . 'extension.inc');
require('admin/pagestart.' . $phpEx);
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
$board_config['smtp_delivery'] = 1;
$board_config['smtp_host'] = @$ini_val('SMTP');

$message = 'test1';
$subject = 'test';

$emailer = new emailer($board_config['smtp_delivery']);
$emailer->from($board_config['board_email']);
$emailer->replyto($board_config['board_email']);
/*
$email_headers = 'X-AntiAbuse: User_id - ' . $userdata['user_id'] . "\n";
$email_headers .= 'X-AntiAbuse: Username - ' . $userdata['username'] . "\n";
*/

include('admin/page_header_admin.'.$phpEx);

$template->set_filenames(array(
	'body' => 'test1.tpl')
);
$address = 'XYZ@bla.de';
$emailer->email_address($address);
$emailer->set_subject($subject);
$emailer->extra_headers($email_headers);
$emailer->assign_vars(array(
'SITENAME' => $board_config['sitename'], 
'BOARD_EMAIL' => $board_config['board_email'], 
'MESSAGE' => $message)
);
if ($emailer->send()==TRUE) {
    echo "hat geklappt"; 
}
else echo "hat nich geklappt";
echo "test"; 
$emailer->reset();
$template->assign_vars(array(
	'MESSAGE' => $message,
	'SUBJECT' => $subject,
	));

$template->pparse('body');

include('./page_footer_admin.'.$phpEx);
?>
und folgendes template

Code: Alles auswählen

<table>
	<tr>
		<td>
		{SITENAME}
		</td>
		<td>
		{BOARD_EMAIL}
		</td>
		<td>
		{MESSAGE}
		</td>
		<td>
		{SUBJECT}
		</td>
		<td>
		{SUBJECT}
		</td>
	</tr>
</table>
dumm ist nur das keine email ankommt! :(
ich verstehe einfach nicht was ich falsch mache!
allerdings gibt das script auch keine fehlermeldung aus oder so!
im board ist der smtp deaktiviert liegt das daran?
man muß den smtp doch nicht aktivieren um ne mail zu verschicken oder?
ich meine die reg email komme ja auch so an!

Verfasst: 22.09.2004 13:12
von Acid
Was genau willst du damit erreichen ? :wink:

Verfasst: 22.09.2004 13:15
von Kasi099
ich will erstmal zum testen und ausprobieren ne mail an mich selber
schreiben!
danach will ich dann ne mail an jemanden bestimmtes schicken wenn ein artikel verfasst worden ist! (das ganze wird ein support forum, dementsprechent sollen die supporter eine mail bekommen wenn ein beitrag geschrieben wurde)
ich muß zugeben das ich mir das script aus der admin_mass_email.php zusammenkopiert habe :oops:

Verfasst: 23.09.2004 12:58
von Kasi099
ich habs jetz mit diesem code:

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
include($phpbb_root_path . 'common.'.$phpEx);

   // Start session management
$userdata = session_pagestart($user_ip, PAGE_PROFILE);
init_userprefs($userdata);
   // End session management
$subject = "test";
if(!$userdata['session_logged_in']) redirect(append_sid("login.$phpEx?redirect=test1.$phpEx", true));
$emailer = new emailer($board_config['smtp_delivery']);
$emailer->from($userdata['user_email']);
$emailer->replyto($userdata['user_email']);
$emailer->use_template('profile_send_email', $user_lang);
$emailer->email_address($user_email);
$emailer->set_subject($subject);
$emailer->assign_vars(array(
	'SITENAME' => $board_config['sitename'], 
	'BOARD_EMAIL' => $board_config['board_email'], 
	'FROM_USERNAME' => $userdata['username'], 
	'TO_USERNAME' => $username, 
	'MESSAGE' => $message)
);
$emailer->send();
$emailer->reset();
?>
so weit geschafft dass dies als fehlermeldung kommt:
Allgemeiner Fehler

Failed sending email :: PHP ::

DEBUG MODE

Line : 234
File : D:\WebSites\Robert\forum\includes\emailer.php
jetz steh ich wie der ochse vorm berg!!!

was bedeutet diese fehlermeldung?
war schon in der emailer.php drinne und habs mir angeschaut bin aber ehrlich gesagt daraus nicht schlau geworden!

Verfasst: 23.09.2004 13:32
von Acid
$emailer->use_template('profile_send_email', $user_lang);
$emailer->email_address($user_email);
Die beiden farblich markierten Variabeln sind noch undefiniert (z.B. $userdata['user_lang'] und $userdata['user_email']).

Verfasst: 23.09.2004 13:34
von Kasi099
werden die nicht durch das login definiert?
ich bin ja eingeloggt wenn ich die datei ausführe!

Verfasst: 23.09.2004 13:46
von Acid
Nein, mit´m Login wird halt nur der Login definiert. :wink:

Solche Informationen (z.B. username oder user_email) müssen immer konkret angegeben werden.

Verfasst: 23.09.2004 13:47
von Kasi099
ahso!
ich hab das userdata array überlesen!!!