Seite 1 von 3

emailer.php: Absendernamen bei "From" eintragen ?

Verfasst: 10.11.2007 19:49
von Inka_i
Hallo,

bin auf der Suche nach einer Möglichkeit, dass die Admin-E-Mails als Absendername nicht die E-Mailadresse anzeigen, sondern den Vereinsnamen. Nun habe ich diesen Thread gefunden:

http://www.phpbb.de/viewtopic.php?t=305 ... +name+mail
Mister_X hat geschrieben: in dem von mir erwähnten Absatz findeste 2x
From:
direkt dahinter (mit einem Leerzeichen getrennt) würde ich noch
MEIN-NAME.de
schreiben sollte IMHO funktionieren (ohne das ich nen großer E-Mail-Header-Freak bin )
Ich werde als Laie leider nicht schlau daraus, wo genau ich da nun den Namen nach dem "From" setzen muss.
Immer diese . , </ " :oops:

Oder geht es doch auch einfacher über den Admin-Bereich?

Danke für Eure Hilfe!
Liebe Grüße
Inka

Verfasst: 10.11.2007 21:57
von Underhill
Hi,

normalerweise ist es

Code: Alles auswählen

"From: ".$fromname." <".$fromaddress.">";
Zeige aber nochmals die komplette Codezeile...

Gruß
Underhill

Verfasst: 10.11.2007 23:29
von Inka_i
Hallo Underhill,
Underhill hat geschrieben:Zeige aber nochmals die komplette Codezeile..
In meiner emailer.php steht:

Code: Alles auswählen

// Build header
		$this->extra_headers = (($this->reply_to != '') ? "Reply-to: $this->reply_to\n" : '') . (($this->from != '') ? "From: $this->from\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" : '');
Es steht 2 x "From" in dieser Zeile.
Wo und wie müsste ich da jetzt den Namen des Vereins, z.B. XY-Verein einfügen?
Die beiden < > bekomme ich gar nicht unter... :-?

Danke Dir schon mal!
Liebe Grüße
Inka

Verfasst: 11.11.2007 00:17
von Underhill
Hi,

so sollte es reichen:
statt (Auszug)

Code: Alles auswählen

(($this->from != '') ? "From: $this->from\n" : "From: " . $board_config['board_email'] . "\n")
versuche mal

Code: Alles auswählen

(($this->from != '') ? "From: $this->from\n" : "From: Emailadressenname \<" . $board_config['board_email'] . "\>\n")
Gruß
Underhill

Verfasst: 11.11.2007 04:35
von Inka_i
Hallo Underhill,

ich habe Deinen Vorschlag ausprobiert, aber leider hatte er keine Auswirkung auf die Absenderanzeige, d.h. es wird im E-Mailprogramm unter "Von" immer noch die Mailadresse und nicht der Name angezeigt. :cry:

Komisch, dass dieser Eintrag nichts bewirkt. Oder er wirkt sich auf andere Mails aus, die ich jetzt nicht getestet habe? Ich habe die Mails getestet, die neu angemeldeten Usern nach der Registrierung gesendet werden und da ist alles unverändert.

Hast Du noch eine Idee?
Danke!
Liebe Grüße
Inka

Verfasst: 11.11.2007 05:14
von 4seven
Hallo Inka_i,

öffne language/lang_german/email/admin_send_email.tpl

Code: Alles auswählen

Charset: iso-8859-1

Die folgende E-Mail erhältst du von einem Administrator von {SITENAME}. Wenn diese E-Mail unerwünschten Inhalt (Spam) enthält, dann kontaktiere bitte den Webmaster unter:

{BOARD_EMAIL}

Schick dazu bitte die ganze Nachricht, Header inklusive, mit.

Die Nachricht findest du hier:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

{MESSAGE}
Die einzelnen Variablen und auch Text kannst du rausnehmen oder ändern [...nur das "Charset: iso-8859-1" und (logo) die {MESSAGE} solltest du drin lassen]

Z.b.

Code: Alles auswählen

Charset: iso-8859-1

Die folgende E-Mail erhältst du von BeliebigerName. Wenn diese E-Mail unerwünschten Inhalt (Spam) enthält, dann kontaktiere bitte den Webmaster unter:

{BOARD_EMAIL}

Schick dazu bitte die ganze Nachricht, Header inklusive, mit.

Die Nachricht findest du hier:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

{MESSAGE}

lg
4seven

Verfasst: 11.11.2007 05:36
von 4seven
.
..und, falls in der 2.0.22er Version überhaupt der "echte" Header geändert werden kann, dann geht es vielleicht so:

Code: Alles auswählen

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

Code: Alles auswählen

function emailer($use_smtp)
	{
		$this->reset();
		$this->use_smtp = $use_smtp;
		$this->reply_to = $this->from = 'BeliebigerName';
	}
oder an der Stelle wie folgt ändern

Code: Alles auswählen

$this->extra_headers = (($this->reply_to != '') ? "Reply-to: $this->reply_to\n" : '') . (($this->from != 'BeliebigerName')
evtl. gehts sogar mit der Darstellung des reply

Code: Alles auswählen

$this->extra_headers = (($this->reply_to != 'BeliebigerName') ? "Reply-to: $this->reply_to\n" : 'BeliebigerName') . (($this->from != 'BeliebigerName')

Code: Alles auswählen

$this->extra_headers = (($this->reply_to != '') ? "Reply-to: $this->reply_to\n" : 'BeliebigerName') . (($this->from != 'BeliebigerName')
Meine Vermutung:

Steht an den Stellen > '' nichts, wird automatisch die Board-Mail genommen als from und reply

Versuch es in mehreren Variationen falls es nicht sofort geht.

lg
4seven

Verfasst: 11.11.2007 18:29
von Inka_i
Hallo 4seven,

erst mal vielen Dank für Deine Ideen dazu!
Leider bin ich nicht zum Ziel gekommen :cry:
4seven hat geschrieben:.
..und, falls in der 2.0.22er Version überhaupt der "echte" Header geändert werden kann
Ich möchte ja nicht am Header manipulieren, sondern nur - wie es im E-Mail-Verkehr ja ganz üblich ist - nicht die Mailadresse als "Von" anzeigen lassen, sondern den Namen des Vereins. Du weisst schon, im Mailprogramm (im Posteingang) steht Von:........Betreff.......
üblicherweise steht da
XY-Verein <mail@xyverein.de>.

In meinem Outlook z.B. gebe ich es unter "Ihr Name" ein. Nur wenn ich da nichts eintrage, wird die E-Mailadresse unter "Von" angezeigt.

Eigentlich müsste das doch auch bei den Mails, die vom phpBB-Administrator verschickt werden, einzufügen sein. Wahrscheinlich ist es nicnt viel Aufwand, fragt sich nur WO man das eintragen muß. :-?

Vielleicht hat noch jemand eine weitere Idee dazu.
Wäre schön!
Danke trotzdem für Deine Unterstützung.
Liebe Grüße
Inka

Verfasst: 11.11.2007 20:50
von Underhill
Hi,

4seven hat Recht:

Code: Alles auswählen

(($this->from != '') ? "From: $this->from\n" : "From: " . $board_config['board_email'] . "\n")
diese Stelle ist ein WENN ODER...

Da der Aufruf der Funktion in der "$this->from" gefüllt wird in vielen verschiedenen phpbb Dateien steht, wird es kein leichtes Spiel diese Änderung einfach durchzuführen...

Versuche es doch mal mit

Code: Alles auswählen

(($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...

Gruß
Underhill

Verfasst: 11.11.2007 23:09
von 4seven
Hallo Underhill,

ich denk auch, das hier der Hase im Pfeffer liegt, da die Variable in dieser Kombination erst bei der "Datei-Einleitung" gebildet wird und (nach dateiübergreifender Suche aller Boarddateien) ausschließlich in der mailer.php vorkommt. :o

Dabei kann die Variable $from vernachlässigt werden, da es schlicht "von" heißt und in vielen Dateien für "alles mögliche" verwandt wird. Mail-Header-spezifisch dann nur in der mailer.php als Bildung dreier zusammenhängender Variablen (var $addresses, $reply_to, $from;)

Code: Alles auswählen

	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 = '';
	}
Die $this->from Anweisung ist wohl *mailer.php-spezifisch (*wie die $adress Anweisung) und kommt nur an diesen Stellen vor:

Code: Alles auswählen

------------------


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


------------------


	function from($address)
	{
		$this->from = trim($address);


----------------


		// Build header
		$this->extra_headers = (($this->reply_to != '') ? "Reply-to: $this->reply_to\n" : '') . (($this->from != '') ? "From: $this->from\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" : '');

------------------
Also, geht es entweder garnicht, oder es bleibt nur die Kosmetik über die language/lang_german/email/*.tpl's

lg
4seven