Seite 1 von 5

Problem mit der Freischaltung von Usern ohne Email

Verfasst: 07.06.2004 07:52
von Emblion
Hallo erstmal! :D

Ich hab da ein Problem mit der Freischaltung von neu registrierten Usern des Forums.
Und zwar ist es so, das ich einen Apache-Webserver unter Windows benutzt habe um dort das Forum der Version 2.07 zu testen.

Das Forum ist ja ganz Toll, doch ist es nun so:


Das auch wenn ich das Häkchen bei " Account-Freischaltung aktivieren Keine" gemacht habe, er versucht eine Email mit Aktivierungs-link zu verschicken.
Dies Klappt aber nicht, solange ich keinen Internet-Anschluss dran habe oder einen EMail-Server habe. Damit ist der Acount des Users solange gesperrt bis der Admin wieder einmal den Acount aktiviert. Außerdem erscheint eine lästige Fehlermeldung:

Failed sending email :: PHP ::

DEBUG MODE

Line : 234
File : D:\xampp\htdocs\phpbb2\includes\emailer.php
Die Gleiche Konfiguration habe ich einmal unter Suse Linux 7.3 mit Apache-Webserver versucht und dort versucht das Forum nicht die Email zu verschicken, was ja auch genau so ist wie ich es Konfiguriert habe.

Jedoch ist es aus administrativen Problemen für mich nicht möglich Linux einzusetzen, wodurch für mich ein großes Problem entsteht. kann mir jemand helfen das Forum so in Gang zu bekommen, das das ganze auch so funktioniert, wie es soll?

Re: Problem mit der Freischaltung von Usern ohne Email

Verfasst: 07.06.2004 08:34
von PhilippK
Emblion hat geschrieben:Dies Klappt aber nicht, solange ich keinen Internet-Anschluss dran habe oder einen EMail-Server habe. Damit ist der Acount des Users solange gesperrt bis der Admin wieder einmal den Acount aktiviert. Außerdem erscheint eine lästige Fehlermeldung:
Da komm ich jetzt nicht so ganz weiter: wenn du das Ding produktiv einsetzen willst, brauchst du ja 'nen Internet-Anschluss - und dann hast du ja auch die Möglichkeit zum Mailversand. :-?

Gruß, Philipp

Verfasst: 07.06.2004 08:35
von itst
phpBB sendet immer eine Mail an den frisch registrierten Benutzer. Entweder Du installierst einen Mailserver unter Windows und konfigurierst Dein PHP entsprechend, oder Du bauste das Mail-Versenden komplett auf phpBB aus.

Verfasst: 07.06.2004 09:14
von Emblion
Hallo

Danke erstmal für die Antworten.

@PhilippK Um Missverständnisse auszuschließen. Das Forum soll in einem Intranet eingestzt werden, welches keine Anbindung ans Internet hat.

@itst Wenn ich Linux verwende geht es doch auch. Ich habe haargenau die selbe Konfiguration forn phpbb unter Windows und linux benutzt. Unter Linux klappts unter Windows nicht.

Des weiteren gibt es doch die Möglichkeit zu sagen,

Account-Freischaltung aktivieren Keine :grin:

Und genau das funktioniert nicht unter Windows.

MfG Emblion

Verfasst: 07.06.2004 09:22
von itst
Unter Linux funktioniert es, weil dort ein Mailserver installiert ist und phpBB die Mail erfolgreich an diesen übergeben kann.

Verfasst: 07.06.2004 09:24
von Emblion
Und wie kann ich die Versendung von Emails aus phpbb ausbauen?

Verfasst: 07.06.2004 09:29
von itst
Da gibts mehrere Möglichkeiten, die brachialste wäre wohl:

Code: Alles auswählen

#
# [ OPEN includes/emailer.php ]
#

#
# [ FIND ]
#
		// Send message ... removed $this->encode() from subject for time being
		if ( $this->use_smtp )
		{
			if ( !defined('SMTP_INCLUDED') ) 
			{
				include($phpbb_root_path . 'includes/smtp.' . $phpEx);
			}

			$result = smtpmail($to, $this->subject, $this->msg, $this->extra_headers);
		}
		else
		{
			$empty_to_header = ($to == '') ? TRUE : FALSE;
			$to = ($to == '') ? (($board_config['sendmail_fix']) ? ' ' : 'Undisclosed-recipients:;') : $to;
	
			$result = @mail($to, $this->subject, preg_replace("#(?<!\r)\n#s", "\n", $this->msg), $this->extra_headers);
			
			if (!$result && !$board_config['sendmail_fix'] && $empty_to_header)
			{
				$to = ' ';

				$sql = "UPDATE " . CONFIG_TABLE . " 
					SET config_value = '1'
					WHERE config_name = 'sendmail_fix'";
				if (!$db->sql_query($sql))
				{
					message_die(GENERAL_ERROR, 'Unable to update config table', '', __LINE__, __FILE__, $sql);
				}

				$board_config['sendmail_fix'] = 1;
				$result = @mail($to, $this->subject, preg_replace("#(?<!\r)\n#s", "\n", $this->msg), $this->extra_headers);
			}
		}

#
# [ REPLACE WITH ]
#
		// Send message ... removed $this->encode() from subject for time being
		/* if ( $this->use_smtp )
		{
			if ( !defined('SMTP_INCLUDED') ) 
			{
				include($phpbb_root_path . 'includes/smtp.' . $phpEx);
			}

			$result = smtpmail($to, $this->subject, $this->msg, $this->extra_headers);
		}
		else
		{
			$empty_to_header = ($to == '') ? TRUE : FALSE;
			$to = ($to == '') ? (($board_config['sendmail_fix']) ? ' ' : 'Undisclosed-recipients:;') : $to;
	
			$result = @mail($to, $this->subject, preg_replace("#(?<!\r)\n#s", "\n", $this->msg), $this->extra_headers);
			
			if (!$result && !$board_config['sendmail_fix'] && $empty_to_header)
			{
				$to = ' ';

				$sql = "UPDATE " . CONFIG_TABLE . " 
					SET config_value = '1'
					WHERE config_name = 'sendmail_fix'";
				if (!$db->sql_query($sql))
				{
					message_die(GENERAL_ERROR, 'Unable to update config table', '', __LINE__, __FILE__, $sql);
				}

				$board_config['sendmail_fix'] = 1;
				$result = @mail($to, $this->subject, preg_replace("#(?<!\r)\n#s", "\n", $this->msg), $this->extra_headers);
			}
		} */
		$result = true;
Alternativ wäre es allerdings besser, einen Mailserver zu installieren, sonst gibt keine PN-Benachrichtigungen, keine Themen-Abonemments, ... Aber das musst Du wissen ;)

Verfasst: 07.06.2004 09:35
von Emblion
Sind dann alle neuen User-Acounts sofort aktiviert wenn man siee anlegt oder muss der admin die erst freischalten?

Verfasst: 07.06.2004 09:44
von itst
Account-Freischaltung aktivieren: Keine :roll:

Verfasst: 07.06.2004 09:50
von Emblion
Das ist ja mein Problem, ich hab den Haken bei keine ja gesetzt, doch versucht das Forum trotdem ne EMail zu verschicken. Als ob ich ihm gesagt hätte, per EMail.

Edit:
Ich hab das mal getestet, mit dem rausnehmen. Ne Email wird nicht versendet, aber freigeschaltet ist der Account trotzdem nicht.