Zum Inhalt springen

html mail in php


Empfohlene Beiträge

hi und hallo,

ich habe eine anwendung in der ich eine funktion habe die mir eine produktliste erstellt. diese möchte ich sowohl zum erzeugen einer produkliste in der anwendung als auch zum generieren einer html e-mail verwenden.

also in etwa:


function writeProdukliste(PARAMETER){

echo("<table width=\"630\" border=\"0\" cellspacing=\"0\" cellpadding=\"11\">");

echo("<tr><td align=\"right\" colspan=\"".($productsInOneLine + 3)."\">");

echo("<span class=\"auswahlProduktkategorie\">Auswahl Produktkategorie:   </span>");

writeSelProdukkategorien(1, $theKat);

echo("<br><br></td></tr>");	

}

und so weiter.

diese funktion schreibt mir also alle produkte aus einer datenbank schön html formatiert raus.

diese funktion wird einmal in der anwendung selbst (zur auswahl von produkten) verwendet.

und ein zweites mal wenn ein benutzer seine produkte ausgewählt hat um die html e-mail zu erzeugen.

und nun hänge ich, denn wenn ich die mailfunktion aufrufe und als mailtext die funktion eintrage geht das ja nicht, da die funktion nur schreibt, also nix zurückgibt.

wie mache ich das jetzt am besten dass ich die html ausgabe der funktion in die mail bekomme???

muss ich vielleicht zuerst eine textdatei mit fwrite schreiben und die dann wieder auslesen??? (dann wäre meine funktion aber eigentlich unnütz weil ich sie kopieren und die "echo" mit "fwrite" austauschen müsste.)

*schlauch*...

danke schonmal für alle die sich gedanken machen

Link zu diesem Kommentar
Auf anderen Seiten teilen

und nun hänge ich, denn wenn ich die mailfunktion aufrufe und als mailtext die funktion eintrage geht das ja nicht, da die funktion nur schreibt, also nix zurückgibt.

wie mache ich das jetzt am besten dass ich die html ausgabe der funktion in die mail bekomme???

Mach doch ne "richtige" Funktion, also eine Funktion die was zurückliefert (was eine Funktion ja von Prinzip her immer tut).

Also:


function writeProdukliste(PARAMETER)

{

$Result = "<table width=\"630\" border=\"0\" cellspacing=\"0\" 

cellpadding=\"11\">" [...]

Return $Result;

}

Dann machst du später einfach ein

$Output = writeProdukliste(PARAMETER);

echo $Output;

mail($Output...);

Nur wirst du keine Freude mit der Mail so haben ;) Mail sendet Textmail. Und wenn du einen HTML-Text an die Mail funktioon übergibst, siehst du eben den HTML-Text in der Mail, ohne Formatierung etc.

Um HTML als Mail zu senden, musst du den Header entsprechend anpassen und den contenttype auf text/HTML ändern usw. Wenn auch noch Bilder dabei sein sollen wird es richtig schön, mit Mutlipart Messages. Ich hab das schonmal für nen Kunden gemacht. ;)

Also frag ruhig wenn du noch Probleme hast, ich versuch dir dann zu helfen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

das mit text/html hab ich schon. da muss man ja nur die header richtig setzen. hab ich auch schon ausprobiert.

bei der sache mit der funktion haste auch recht. wollte mir nur die mühe ersparen die ganze funktion so umzubauen wie du das beschrieben hast, aber das ist wohl das beste.

morgen ist auch noch ein tag ;)

vielen dank Jesterday!

Link zu diesem Kommentar
Auf anderen Seiten teilen

das mit text/html hab ich schon. da muss man ja nur die header richtig setzen. hab ich auch schon ausprobiert.

Wenn du es gut machen willst, sendest du das einmal als Text und zusätzlich auch noch als HTML. Also 2 in einem. Nicht jeder MailClient kann oder will HTML anzeigen. Von daher werden HTML Mails eigentlich immer auch als PlainText zusätzlich versendet. (Unser GroupWise tut es zumindest so, andere hab ich danach noch garnicht geprüft. Sinn macht es aber.)

EDIT:

Naja, es gibt auch genug HTML-only. Das ist mir damals nur an unseren Mails aufgefallen als ich mit HTML Mails rumprobiert hab. Vergiss es am besten ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...