PHP-Mailer: Was genau bewirkt diese Zeile?

Moin,

in meiner Bildergallerie gibt es eine Funktion, die automatisch eine E-Mail verschickt.

Wer kann mir sagen, was genau die folgende Zeile bewirkt:

$headers .= „From: „“. $_SERVER[„SERVER_ADMIN“] .“"\r\n";

Dass damit das „Absender-Feld“ generiert wird ist mir klar, nur nicht, was genau sich dort abspielt und wie ich dort gegebenenfalls gezielte Änderungen vornehmen kann. So soll z.B. nicht der Server als Absender genannt werden, etc…

thx
moe.

Hallo FlammingMoe,

ich trösel dir einfach mal alles auf, auch wenn du manches vielleicht schon weißt:

Wer kann mir sagen, was genau die folgende Zeile bewirkt:

$headers .= „From: „“. $_SERVER[„SERVER_ADMIN“] .“"\r\n";

$header .= „bla“ bedeutet $header = $header.„bla“
$_SERVER[] schau dazu hier: http://de3.php.net/reserved.variables
„“" ist der String ". \r heißt carriage return.\n linefeed (beides sind Zeilenumbrüche) Siehe: http://de3.php.net/types.string (table 11.1)

Letztendlich sieht der String, der in der variable $headers gespeichert ist, so aus:
From: „“

Dass damit das „Absender-Feld“ generiert wird ist mir klar,

Wahrscheinlich im Zusammenhang schon, aber nur die Zeile heißt, dass die Variable $headers nun den alten Inhalt von $headers plus den geparsten String rechts vom .= enthält

So soll z.B. nicht der Server als Absender genannt werden, etc…

$headers .= „From: „“. „[email protected]“ .“"\r\n";

Kommst du damit zurecht?

Grüße, Holger

kleine ergänzung…

$headers .= „From: „“. „[email protected]“ .“"\r\n";

das hier ist im Prinzip das einzige was Du wissen musst…
Tendentiell geht es aber auch so:
$headers .= „From: „[email protected]“\r\n“;
ist natürlich nicht so übersichtlich…
Allerdings kannst Du das auch wie es z.b. in gmx gern getan wird maskieren…
Du kannst also Schreiben
$headers .= „From: „“. „Nicht Antworten " .““\r\n";

Die meisten Mailprogramme geben dann als Absender die Worte „Nicht Antworten“ an und weisen nur bei genauerer Ansicht die Mailadresse aus…

1 Like

Danke.
.

Hallo FlammingMoe,

ich trösel dir einfach mal alles auf, auch wenn du manches
vielleicht schon weißt:

Wer kann mir sagen, was genau die folgende Zeile bewirkt:

$headers .= „From: „“. $_SERVER[„SERVER_ADMIN“] .“"\r\n";

$header .= „bla“ bedeutet $header =
$header.„bla“
$_SERVER[] schau dazu hier:
http://de3.php.net/reserved.variables
„“" ist der String ". \r heißt carriage return.\n linefeed
(beides sind Zeilenumbrüche) Siehe:
http://de3.php.net/types.string (table 11.1)

Letztendlich sieht der String, der in der variable $headers
gespeichert ist, so aus:
From:
„“

Dass damit das „Absender-Feld“ generiert wird ist mir klar,

Wahrscheinlich im Zusammenhang schon, aber nur die Zeile
heißt, dass die Variable $headers nun den alten Inhalt von
$headers plus den geparsten String rechts vom .= enthält

So soll z.B. nicht der Server als Absender genannt werden, etc…

$headers .= „From: „“. „[email protected]“ .“"\r\n";

Kommst du damit zurecht?

halb :wink:

sowohl bei Deiner Lösung als auch bei der Lösung Deines „Nachantworters“ erscheint der gewünschte Eintrag im Absenderfeld jedoch erscheint dahinter noch immer @server.de (mit dem Servernamen statt „server“).

hier mal der komplette(?) relevante Quelltextauszug:

/\*--------------------------------------------------------------------\*/
/\* Send notification mail upon user comment submission \*/
/\*--------------------------------------------------------------------\*/
 function send\_notification($pic, $name, $text)
 {
 // send a mail with the text of the comment and a link to that image
 if($this-\>user\_comments\_notification == 1 AND !empty($this-\>user\_comments\_mail))
 {
 $headers .= "From: \"". "[email protected]" ."\"\r\n";
 $headers .= "Content-Type: text/plain; charset=iso-8859-1\r\n";

 $subject = "PictureBrowser: Comment Notification";

 $curr\_dir = $\_SERVER["SCRIPT\_URL"];
 if(empty($curr\_dir))
 {
 $curr\_dir = $\_SERVER["SCRIPT\_NAME"];
 } 

 $message .= "A user comment has been submitted.\n";
 $message .= "URL: " . "http://" . $\_SERVER["HTTP\_HOST"] . $curr\_dir . "?pic=$pic" . "\n";
 $message .= "\n";
 $message .= "Content:";
 $message .= "$name\n";
 $message .= "$text\n";

 mail ($this-\>user\_comments\_mail, $subject, $message , $headers );
 }
 }

woran könnte es hängen?

thx
moe.