emailer.php: Absendernamen bei "From" eintragen ?

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Inka_i
Mitglied
Beiträge: 48
Registriert: 17.10.2007 18:39

Beitrag von Inka_i »

Hallo 4seven, hallo Underhill,

dem fachlichen Austausch zwischen Euch kann ich nur in soweit folgen, dass es wohl keine Lösung dafür gibt, oder? :cry:
4seven hat geschrieben:Also, geht es entweder garnicht, oder es bleibt nur die Kosmetik über die language/lang_german/email/*.tpl's
Wobei diese Kosmetik dann aber - wenn ich es im Beitrag weiter oben richtig verstanden habe - darin besteht, dass im E-Mail-Text steht, von wem genau die Mail kommt - und nicht im Mailprogramm unter "Von", oder?

Und diese Idee von Underhill scheidet nun aus?
Versuche es doch mal mit
Code:
(($this->from != '') ? "From: BOARDNAME \<$this->from\>\n" : "From: BOARDNAME \<" . $board_config['board_email'] . "\>\n")

so werden zwar alle Emails als BOARDNAME (also auch bei user2user)gesendet - aber wir haben schonmal einen Teilerfolg...
User können bei uns nicht über das Forum Mails senden (nur PNs), das wäre also egal.

Ich kann es heute nicht mehr ausprobieren, da ich unterwegs bin.
Wollte es morgen machen - falls es sich nicht inzwischen erübrigt haben sollte.
So genau habe ich jetzt Eure Beiträge nicht verstanden :oops:

Einstweilen
liebe Grüße
Inka
Inka_i
Mitglied
Beiträge: 48
Registriert: 17.10.2007 18:39

Beitrag von Inka_i »

Hallo Underhill,

also Deine 2. Variante

Code: Alles auswählen

(($this->from != '') ? "From: BOARDNAME \<$this->from\>\n" : "From: BOARDNAME \<" . $board_config['board_email'] . "\>\n")
hat sich im Gegensatz zur 1. Variante

Code: Alles auswählen

(($this->from != '') ? "From: $this->from\n" : "From: Emailadressenname \<" . $board_config['board_email'] . "\>\n")
bemerkbar gemacht. Aber leider nicht so, wie ich dachte. Es steht nun im E-Mail-Programm unter "Von":
xyVerein<xy-Verein@mail.de>

Es soll aber unter "Von" nur der Name stehen, so wie es sonst bei Mails auch üblich ist und nicht mit <> und zusätzlich noch Mailadresse. Der Eintrag des Absendernamens beim 2. From in dieser Codezeile macht sich nicht bemerkbar.

Ich weiß, dass es bei Mails die über asp-Mail gesendet werden auch so ist, dass da nur der Absendername steht. Da wird im Code unterschieden zwischen FromName und FromAddress.
Hast Du noch eine Idee, wie man das analog auch bei php verwirklichen könnte?

Danke!
Liebe Grüße
Inka
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Hallo Inka_i,

ich habs nochmal ne ziemliche Zeit getestet. Der Hase liegt scheinbar woanders im Pfeffer. Vielleicht zaubert einer aber auch noch den Wundercode aus dem Hut.

Das Erste Beispiel führt dazu das der BOARDNAME angezeigt wird, aber das *Provideranhängsel hinten angehängt wird (zumindest ist es bei Funpic so) > BOARDNAME@funpic*****.cluster

Ferner hab ich den Code im ersten Beispiel mal aufgesplittet und die Anteile nach und nach unwirksam gemacht //
.. und, obwohl im ersten Beispiel so wenig übrig blieb, hat es dennoch funktioniert, allerdings mit *Anhängsel.

Das legt den Verdacht nahe, das das *Anhängsel an anderer Stelle oder gar Serverseits generiert wird. Dann wäre es nicht zu ändern.

Änderungen jeweils mailer.php

Code: Alles auswählen

//
// The emailer class has support for attaching files, that isn't implemented
// in the 2.0 release but we can probable find some way of using it in a future
// release
//


class emailer
{
	var $msg, $subject, $extra_headers;
	var $addresses, $reply_to, $from;
	var $use_smtp;
        var $new_from;

	var $tpl_msg = array();

	function emailer($use_smtp)
	{
		$this->reset();
		$this->use_smtp = $use_smtp;
                $this->new_from = $this->reply_to = $this->from = 'BOARDNAME';
	}

	// Resets all the data (address, template file, etc etc to default


...............................................


$this->extra_headers = 

(($this->reply_to != '') ? "Reply-to: $this->reply_to\n" : '') . 
 
// (($this->from != '') ? "From: $this->new_from \n" : "From:" . $board_config['board_email'] . "\n")

(($this->from != '') ? "From: $this->new_from\n" : '')

//  . 

// "Return-Path: " . $board_config['board_email'] 

// . 

// "\nMessage-ID: 

// <" . md5(uniqid(time())) . "@" . $board_config['server_name'] . ">\nMIME-Version: 1.0\nContent-type: text/plain; charset=" . $this->encoding . "\nContent-transfer-encoding: 8bit\nDate: " . date('r', time()) . "\nX-Priority: 3\nX-MSMail-Priority: Normal\nX-Mailer: PHP\nX-MimeOLE: Produced By phpBB2\n" . $this->extra_headers . (($cc != '') ? "Cc: $cc\n" : '')  . (($bcc != '') ? "Bcc: $bcc\n" : '')

; 


Zweites Beispiel:

So funktioniert es. Ein einfaches "$get".
Allerdings in Klammern (BOARDNAME)
Wenn die jetzt noch einer "auflösen" kann, bekommt er einen Orden von mir. Aber am Band.

Änderung unten / oberer Teil wieder "zurückgebaut"

Code: Alles auswählen

//
// The emailer class has support for attaching files, that isn't implemented
// in the 2.0 release but we can probable find some way of using it in a future
// release
//


class emailer
{
	var $msg, $subject, $extra_headers;
	var $addresses, $reply_to, $from;
	var $use_smtp;

	var $tpl_msg = array();

	function emailer($use_smtp)
	{
		$this->reset();
		$this->use_smtp = $use_smtp;
                $this->reply_to = $this->from = '';
	}

	// Resets all the data (address, template file, etc etc to default
	

.........................................


$this->extra_headers = (($this->reply_to != '') ? "Reply-to: $this->reply_to\n" : '') . (($this->from != '') ? "From: $get(BOARDNAME)\n" : "From: " . $board_config['board_email'] . "\n") . "Return-Path: " . $board_config['board_email'] . "\nMessage-ID: <" . md5(uniqid(time())) . "@" . $board_config['server_name'] . ">\nMIME-Version: 1.0\nContent-type: text/plain; charset=" . $this->encoding . "\nContent-transfer-encoding: 8bit\nDate: " . date('r', time()) . "\nX-Priority: 3\nX-MSMail-Priority: Normal\nX-Mailer: PHP\nX-MimeOLE: Produced By phpBB2\n" . $this->extra_headers . (($cc != '') ? "Cc: $cc\n" : '')  . (($bcc != '') ? "Bcc: $bcc\n" : ''); 
lg
4seven
Zuletzt geändert von 4seven am 14.11.2007 03:18, insgesamt 1-mal geändert.
Inka_i
Mitglied
Beiträge: 48
Registriert: 17.10.2007 18:39

Beitrag von Inka_i »

Hallo 4seven,

habe mich bis jetzt intensiv mit Deinem Beitrag beschäftigt. Danke für Deine tolle Unterstützung!! Du bist wahrscheinlich Profi, weisst jedenfalls richtig Bescheid. Ich verstehe ja nur "Bahnhof" und die Umsetzung dauert....und treibt mir die Schweißperlen auf die Stirn...... :oops:
4seven hat geschrieben:So funktioniert es. Ein einfaches "$get".
Allerdings in Klammern (BOARDNAME)
Wenn die jetzt noch einer "auflösen" kann, bekommt er einen Orden von mir. Aber am Band.
Ja, das wäre SPITZE, ohne Klammern........der Ordensverleihung schließe ich mich dann an :grin:

Vielleicht kommt ja nochmal ein phpBB-Programmierer vorbei und trägt den letzten Schritt dazu bei. Falls er überhaupt möglich ist, vielleicht ist das mit asp einfach unkomplizierter. Warum es da einfach FromName und FromAddress gibt und das bei php so schwierig ist, kann ich als blutige Anfängerin sowieso nicht nachvollziehen.

Jedenfalls habe ich mich über Deine Hilfe riesig gefreut!
Liebe Grüße
Inka
Inka_i
Mitglied
Beiträge: 48
Registriert: 17.10.2007 18:39

Beitrag von Inka_i »

Hallo 4seven, hallo Underhill,

ein nächtlicher Hilferuf!
Ich habe heute die Original emailer.php wieder hochgeladen und plötzlich bekomme ich nach einer Neuregistrierung eine Fehlermeldung. Anstatt der Meldung, dass eine Mail unterwegs ist zwecks Accountfreischaltung etc.. (diese übliche Meldung bei Abschluß der Registrierung) steht da:

Allgemeiner Fehler
Failed sending email ::php::
DEBUG MODE
Line: 234
File: emailer.php

Also in dieser Zeile 234 steht die Anweisung, die Fehlermeldung auszugeben. Hat nichts mit der Stelle zu tun, an der wir wegen des Absendernames experimentiert haben. Außerdem habe ich ja die Originaldatei wieder hochgeladen und an der ist nichts verändert.

Die Mail ist aber trotz der Meldung versendet worden und auch angekommen! Nur wird die Bestätigung nicht angezeigt, sondern diese Fehlermeldung. :(

Ich stehe vor einem Rätsel. Wo kann ich da ansetzen?
Könnt Ihr mir helfen?!
Liebe Grüße
Inka
Benutzeravatar
Seimon
Mitglied
Beiträge: 893
Registriert: 23.02.2005 18:10
Wohnort: Linz, Österreich

Beitrag von Seimon »

Inka_i hat geschrieben:Wo kann ich da ansetzen?
Hilft das?
-> KB:failed
Inka_i
Mitglied
Beiträge: 48
Registriert: 17.10.2007 18:39

Beitrag von Inka_i »

Hallo Seimon,

danke für Deinen Hinweis. Den Text hatte ich auch schon gelesen - hatte ich vergessen zu erwähnen - daher nett, dass Du darauf hinweist! Er hilft mir insofern nicht weiter, da es sich ja nicht tatsächlich um einen fehlgeschlagenen Versand handelt. Die Mail wird versendet und kommt auch an! Nur erscheint zum Abschluß der Registrierung diese Fehlermeldung anstatt der üblichen Bestätigung der Registrierung. Es hat aber bis gestern alles richtig funktioniert :-?

Weiß noch jemand Rat?
Danke und liebe Grüße
Inka
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Hallo Inka_i,

Gibt da wenig Möglichkeiten:

- Entweder es wurde doch woanders was gerändert.
- Die Dateirechte der einzelnen Datei stimmt nicht
- Der Server müsste neu gestartet werden oder testweise der Forencache geleert.

Wenn das alles nichts nützt, dann kommentier mal testweise die Anweisung zur Fehlermeldung an der benannten Stelle aus.

lg
4seben
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Hallo Inka_i,

Gibt da wenig Möglichkeiten:

- Entweder es wurde doch woanders was gerändert.
- Die Dateirechte der einzelnen Datei stimmt nicht (oder nicht im ASCII-Modus hochgeladen(!))
- Der Server müsste neu gestartet werden oder testweise der Forencache geleert.

Wenn das alles nichts nützt, dann kommentier mal testweise die Anweisung zur Fehlermeldung an der benannten Stelle aus.
Wenn der Betrieb normal läuft, ist es eines der unergründlichen Dinge.
Wär nicht das erste mal.

lg
4seven
Inka_i
Mitglied
Beiträge: 48
Registriert: 17.10.2007 18:39

Beitrag von Inka_i »

Hallo 4seven,

danke für die Möglichkeiten. Ich werde sie gleich mal der Reihe nach durchgehen.

Nebenbei - weil Du es gerade ansprichst
4seven hat geschrieben:.....(oder nicht im ASCII-Modus hochgeladen(!))
ich muss gestehen, ich habe noch nie etwas im ASCII-Modus hochgeladen, immer alles BINARY :oops: Ich bin richtiger Laie und wusste nicht, dass das wichtig ist. Mein FTP-Programm war nach der Installation auf binary eingestellt und so benutze ich es seit 4 Jahren!! Bisher hatte ich noch nie irgendwelche Probleme weder mit html-, asp-, php-Seiten oder images. Ist es wirklich so entscheidend, wie man hochlädt bzw. warum habe ich noch nie Probleme bemerkt?

Ich glaube, es kann im aktuellen Fall nicht daran liegen (obwohl ich die Seite im Binär-Modus hochgeladen habe), da ich das auch zum Start des Forums immer so gemacht habe (auch alle nach einem Mod-Einbau veränderten Seiten) und bis gestern lief es ja ohne diese Fehlermeldung und ohne sonstige Probleme. Der Hase liegt wahrscheinlich noch woanders im Pfeffer. Aber da Du das mit dem Binär/ASCII gerade angesprochen hast, wurde ich grundsätzlich aufmerksam und möchte es natürlich besser machen. :grin:

Magst Du mir dazu noch etwas sagen?
Danke!
Liebe Grüße
Inka
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“