Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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.

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!

oder lass deine funktion wie sie ist und so:


ob_start();
writeProdukliste(PARAMETER);
$text = ob_get_contents();
ob_end_clean();

mail ( 'a@b.de', 'Betreff', $text);
[/PHP]

Gruß,

Markus

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 ;)

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.