mail() funktion richtig benutzen.
Christian
- php
Hallo.
Nun habe ich mehr oder weniger wieder ein Problem. ^^
Ich wollte in einem Script die mail Funktion benutzen, aber ich weiß nicht welche headerdaten wie mitgesendet werden müssen.
Könnte mir eventuell jemand eine Seite geben wo die benötigtem Headerdaten stehen. Bei http://de.php.net/mail steht nicht sonderlich was darüber.
Danke
Christian
Hallo Christian.
Ich wollte in einem Script die mail Funktion benutzen, aber ich weiß nicht welche headerdaten wie mitgesendet werden müssen.
Empfehlenswert sind der From-Header sowie ein Content-Type-Header.
Alles andere hängt von deinem Anwendungsfall ab.
Einen schönen Montag noch.
Gruß, Ashura
Empfehlenswert sind der From-Header sowie ein Content-Type-Header.
Okay, Content-Type am besten text/plain, denn html mails will ich ja nisch. :D
Alles andere hängt von deinem Anwendungsfall ab.
Hmm.. Joa, also ich denke das reicht, wenn der Content-type text/plain is, und der from meine E-Mail Adresse.
Mal eine Frage zu den Headern.
Wozu dient dieser Header?
»'X-Mailer: PHP/' . phpversion();«
Christian
Hallo Christian.
Mal eine Frage zu den Headern.
Wozu dient dieser Header?
»'X-Mailer: PHP/' . phpversion();«
Du kannst soviele eigene Header in eine Mail setzen wie es dir beliebt, wobei benutzerdefinierte Header mit einem vorangestellten „X-“ notiert werden.
Hier handelt es sich also um einen X-Mailer-Header. Dessen Wert ergibt sich aus „PHP/“ sowie der genutzten PHP-Version.
Einen schönen Montag noch.
Gruß, Ashura
Ich habe so ein Script nun in meinem Script. oO
Habe folgendes Geschrieben
» $message = "TEXT";
» $header = 'Content-type: text/plain; ISO-8859-1'."\n";
» $header = 'From: Christian webmaster@osnabrueck-iburg.de'."\n";
» $header = 'Reply-To: webmaster@osnabrueck-iburg.de'."\n";
» mail($_POST['mail'], "Newsletter Anmeldung bei osnabrueck-iburg.de", $message, $header);
Das Problem bei dem ganzen nun, ist das als Header folgendes kommt: »Von: WWW daemon apache wwwrun@mc2.methfessel-computers.de«
Wieso?
Wie funktioniert from richtig?
Christian
Hallo Christian.
» $message = "TEXT";
» $header = 'Content-type: text/plain; ISO-8859-1'."\n";
Ungültig …
» $header = 'From: Christian webmaster@osnabrueck-iburg.de'."\n";
Ebenso …
» $header = 'Reply-To: webmaster@osnabrueck-iburg.de'."\n";
Naja, du weißt schon …
Wieso?
Weil Mailheader nicht mit LF (\n), sondern mit CR LF (\r\n) terminiert werden müssen. Alles Andere verstößt gegen die RFC.
Einen schönen Montag noch.
Gruß, Ashura
Habe ich geändert:
$header = 'Content-type: text/plain; ISO-8859-1'."\r\n";
$header = 'From: Christian webmaster@osnabrueck-iburg.de'."\r\n";
$header = 'Reply-To: webmaster@osnabrueck-iburg.de'."\r\n";
Funktioniert dennoch nicht. :-/
Was nun?
Christian
Hallo
» $header = 'Content-type: text/plain; ISO-8859-1'."\n";
» $header = 'From: Christian webmaster@osnabrueck-iburg.de'."\n";
» $header = 'Reply-To: webmaster@osnabrueck-iburg.de'."\n";
Weil Mailheader nicht mit LF (\n), sondern mit CR LF (\r\n) terminiert werden müssen. Alles Andere verstößt gegen die RFC.
Auch wenn das falsch ist, habe ich biher nicht erlebt, dass das zu Problemen geführt hat. Trotzdem schön zu wissen.
Davon abgesehen überschreibt Christian jedesmal die Variable $header
. Wenn du, Christian, da etwas anhängen willst, benutze den Punkt vor dem Gleichheitszeichen. Sonst ist nur die letzte Zeile im Header vorhanden. Außerdem ist die "Durcheinanderverwendung" von ' und " als Stringeinschließende Zeichen recht verwirrend. Habe das mal für das beispiel auf ein Zeichen beschränkt.
$header = "Content-type: text/plain; ISO-8859-1\r\n";
$header .= "From: Christian <webmaster@osnabrueck-iburg.de>\r\n";
$header .= "Reply-To: webmaster@osnabrueck-iburg.de\r\n";
Tschö, Auge
SO KLAPPT ES! :D
Danke ^^
Christian
Hallo Auge.
Davon abgesehen überschreibt Christian jedesmal die Variable
$header
.
Stimmt auffallend. Da haben meine Augen wohl automatisch fehlerkorrigiert.
Einen schönen Dienstag noch.
Gruß, Ashura