php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.11.2005, 09:10  
Gast
 
Beiträge: n/a
Standard Email Header und Alternativer Text...

Hi

obwohl ich grad schon einen Thread ofen habe, spricht er das Thema nicht an, deswegen der neue Thread.

Mein vorhaben: Ich möchte eine Email mittels "mail()" versenden. Diese Email soll eine HTML - Email sein (die Header dazu kenn ich auch schon). Ausserdem sollte ein alternativer Text versendet werden, falls die HTML-Email nicht akzeptiert wird. Wie geb ich sowas an???

Eigentlich würde mir schon ein Link zu einer Doku, in der alle Möglichen Header für den Emailversand enthalten sind langen.

Gruß
bigJay
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.11.2005, 09:42  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

http://de3.php.net/mail

Ausschnitt:
PHP-Code:
<?php
//add From: header
$headers "From: webserver@localhost\r\n";

//specify MIME version 1.0
$headers .= "MIME-Version: 1.0\r\n";

//unique boundary
$boundary uniqid("HTMLDEMO");

//tell e-mail client this e-mail contains//alternate versions
$headers .= "Content-Type: multipart/mixed; boundary = $boundary\r\n\r\n";

//plain text version of message
$body "--$boundary\r\n" .
   
"Content-Type: text/plain; charset=ISO-8859-1\r\n" .
   
"Content-Transfer-Encoding: base64\r\n\r\n";
$body .= chunk_split(base64_encode("This is the plain text version!"));

//HTML version of message
$body .= "--$boundary\r\n" .
   
"Content-Type: text/html; charset=ISO-8859-1\r\n" .
   
"Content-Transfer-Encoding: base64\r\n\r\n";
$body .= chunk_split(base64_encode("This the [b]HTML[/b] version!"));

//send message
mail("root@localhost""An HTML Message"$body$headers);
?>
Wenn das E-Mail-Programm des Empfängers nun HTML akzeptiert müsste HTML angezeigt werden, ansonsten die Textversion.
Zergling-new ist offline  
Alt 10.11.2005, 09:49  
Gast
 
Beiträge: n/a
Standard

Eine bessere Alternative: phpMailer von http://phpmailer.sourceforge.net

Gruß
phpfan
 
Alt 10.11.2005, 09:50  
Gast
 
Beiträge: n/a
Standard

Ja hab ich schon gelesen.
Warum ich frage: CIX88(der hier auch Mitglied ist) ferwendet bei seinem Script ausser den Headern die ich in der Doku finden konnte, noch andere, deswegen hat es mich interesiert welche Header es überhaupt gibt.
Aber mitlerweile habe ich eine sehr gute doku gefunden

Danke
Gruß
bigJay
 
Alt 10.11.2005, 09:52  
Gast
 
Beiträge: n/a
Standard

@phpfan: Jep kenn ich, finde es auch sehr gut. Wollte aber mich mal selber mit dem Thema befassen. Ich will ja nicht dumm sterben
 
Alt 10.11.2005, 10:01  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Dann hättest ja da in den Source reinschaun können *duck&wech*
Zergling-new ist offline  
Alt 10.11.2005, 14:28  
Gast
 
Beiträge: n/a
Standard

So, und da bin ich schon wieder

Jetzt versuche ich es schon seit ein paar stunden zum laufen zu bekommen. Mache es mit:
Code:
Content-Transfer-Encoding: 8bit
Da ich mir sagen lassen habe, dass dieses Codierungsverfahren das beste ist.
Und das ist mal das Script was ich zusammengeschrieben habe:
Code:
<?php 
$h = "MIME-Version: 1.0\r\n".
	 "Content-type: multipart/mixed; boundary = 0d64a1fbe948a80b815899c6b7785c86 charset=iso-8859-1\r\n".
	 "Content-Transfer-Encoding: 8bit\r\n".
	 "From: Ein Name <absender@brr.de>\r\n";

$b = "--0d64a1fbe948a80b815899c6b7785c86\r\n".
	 "Content-Type: text/plain; charset=iso-8859-1\r\n".
	 "Der Inhalt der Email als Text".

	 "--0d64a1fbe948a80b815899c6b7785c86\r\n".
	 "Content-Type: text/html; charset=iso-8859-1\r\n".
	 "Der HTML formatierte Ihnhalt der Email";
	mail("empfänger@brr.de", "Test Nachricht", $b, $h); 
?>
Die Email sieht dann beim Empfänger leider so aus:
Zitat:
--0d64a1fbe948a80b815899c6b7785c86
Content-Type: text/plain; charset=iso-8859-1
Der Inhalt der Email als Text--0d64a1fbe948a80b815899c6b7785c86
Content-Type: text/html; charset=iso-8859-1
Der HTML formatierte Ihnhalt der Email
Ich wollte aber erreichen dass immer nur HTML oder TEXT angezeitg wird. Was stimmt den bei mir nicht?

Danke
bigJay
 
Alt 10.11.2005, 14:45  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Mein 1. Tipp: Du butterst zuviele Leerzeichen in den Header. Außerdem fehlt vor charset ein ; (bzw. nach dem boundary-Name). Ist aber echt ein Schusseligkeitsfehler (wenns denn daran liegt), vielleicht doch erstmal selbst oder vom Kollegen überprüfen, bevor du hier postest
Zergling-new ist offline  
Alt 10.11.2005, 15:02  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von -->bigJay<--
Jetzt versuche ich es schon seit ein paar stunden zum laufen zu bekommen.
Ähm, eine Lösung habe ich auch nicht, da ich mich mit den Mailheadern noch nie rumgeärgert habe. Ich finde es nur witzig, wie man überhaupt auf die Idee kommt, sich damit rumzuschlagen. Wieso benutzt du nicht den phpMailer. Willst du unbedingt nur selbst geschriebene Scripte verwenden? Benutzt du auch kein phpMyAdmin? Wenn du den phpMailer sofort genommen hättest, wärst du schon seit Stunden fertig.

Gruß
phpfan
 
Alt 10.11.2005, 15:14  
Gast
 
Beiträge: n/a
Standard

@Zergling: Also es lag daran:
PHP-Code:
<?php
"--0d64a1fbe948a80b815899c6b7785c86\r\n".
     
"Content-Type:text/plain; charset=iso-8859-1\r\n\r\n".
     
"Der Textliche Inhalt der Email[b][color=red]\r\n[/color][/b]"
?>
Zitat:
Willst du unbedingt nur selbst geschriebene Scripte verwenden? Benutzt du auch kein phpMyAdmin?
Nein natürlich nicht. Und den phpMyAdmin verwende ich auch. Nur ich habe grad ein wenig zeit übrig um mich weiter zubilden. Und wenn ich mich mit diesen sachen mal auskenne bin ich ein wenig schlauer als du :wink:
Zitat:
Ähm, eine Lösung habe ich auch nicht, da ich mich mit den Mailheadern noch nie rumgeärgert habe
Achso: Ich bekomme jetzt den Text/Plain inhalt als Anhang, kann man das vermeiden???

Gruß
bigJay
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JavaScript/PHP: qooxdoo 0.7.1 - Teil 1 : Eine Einführung Zergling-new Tutorials 6 25.01.2008 10:41
CSS - Bild im div container überlappt andere container Buschdieb HTML, Usability und Barrierefreiheit 13 19.07.2007 23:17
Email Header einstellungen sbeeck PHP Tipps 2006 9 11.10.2006 17:21
Download starten (header funktion), vorher Text ausgeben? Harakiri81 PHP-Fortgeschrittene 19 16.05.2006 21:15
CSS - Design (clear - Problem) HTML, Usability und Barrierefreiheit 7 21.12.2005 14:55
Text aus der DB verteilen PHP Tipps 2007 17 16.11.2005 12:04
HTML oder TEXT Format bei email per php TaStEn PHP Tipps 2007 3 14.11.2005 18:33
header download lädt mp3 als text ins browserfenster PHP-Fortgeschrittene 12 19.08.2005 17:22
[Erledigt] Link PHP Tipps 2005-2 10 20.07.2005 21:28
DIV´s wollen nicht wie ich das will :-) HTML, Usability und Barrierefreiheit 22 28.03.2005 18:36
HTML und TEXT eMail Soese PHP Tipps 2005 1 17.02.2005 22:42
Alle Email Adressen aus einem Text rausfiltern und speichern PHP-Fortgeschrittene 3 04.09.2004 16:55
bounce in Email header festlegen PHP Tipps 2004 0 19.08.2004 21:19
txt-Datei erstellen d-81 PHP Tipps 2004 12 11.08.2004 20:31
[Erledigt] Email Header PHP-Fortgeschrittene 1 20.07.2004 13:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
content-type: text/html; charset=iso-8859-1\' . \\\n\, html e-mail header, html emailheader multipart mixed, html emai header, charset in email header festlegen, email header content type php, email zuviele leerzeilen php, alternative text email php, php alias email header

Alle Zeitangaben in WEZ +1. Es ist jetzt 13:54 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.