Thomas Luethi: Mail formatieren

Beitrag lesen

Ich habe ein Formular, und verschicke die Daten mit dem PHP-Befehl MAIL. Die Zeilenschaltungen klappen ganz gut;
aber ?
Kann man die Mails irgendwie mit Tab oder so formatieren dass die einzelnen Variablen (z.B. Zahlenkolonnen) übersichtlich untereinander stehen . Oder geht das mit PHP grundsätzlich nicht ?

Mit PHP ist (fast) alles moeglich. Du koenntest sogar HTML-Mails mit eingebetteten Bildern verschicken.

Die Frage ist vielmehr, ob das E-Mail-Programm des Empfaengers mit dem klarkommt, was Du ihm schickst.

Auch wenn Du HTML-Mails verschickst (wie Dir die andern vorgschlagen haben), solltest Du immer auch noch den gleichen Text im Nur-Text-Format schicken.

Ich weiss nicht, ob im Nur-Text-Format fuer E-Mail Tabulatoren vorgesehen sind, und selbst wenn, bleibt es offen, ob alle E-Mail-Clients einen Tabulator auch gleich breit (z.B. 5 Zeichen) anzeigen. Das waere mir also zu unsicher.

Du koenntest aber versuchen, die Zwischenraeume mit hinzugefuegten Leerzeichen so zu machen, dass die Zahlen schoen untereinander stehen.

Sterne statt Leerzeichen zum Verdeutlichen:
1***5****10***15***20***25***30
+---+----+----+----+----+----+
Kurzer Text*******************CHF  25.00
Langer Langer Mustertext******CHF 111.00
******************************----------
Total*************************CHF 136.00

"Von Hand" wuerde man das so machen: Laenge der Texte bestimmen, Differenz zu einer Zahl (z.B. 30) berechnen, soviele Leerzeichen einfuegen.
In PHP geht es noch einfacher mit der Funktion str_pad(), siehe Link oben:
$mailbody.=str_pad($text,30);
$mailbody.="$waehrung ";
$mailbody.=sprintf("%3.2f",$betrag);
$mailbody.="\n";

HTH, mfg
Thomas