Kalle_B: Feste Zeichenbreite in Mails

Hallöle,

per PHP verschicke ich Mails, deren Text Besucher der Webseite eingeben.

Beim Empfänger soll die Nachricht in festen Zeichenbreiten ankommen.

Dies ist Inhalt des Mail-Bodys:

<style type="text/css">  
body      {font-family:verdana,arial,sans-serif}  
p, li, ul {margin:0 0 0.5em 0}  
.cdgruen {color:#0a0}  
.cdrot  {color:#a00}  
.courier {font-family:monotype}  
.upcase {text-transform:uppercase}  
</style>  
...  
--------------------<div class='cdrot courier'>  
<p>[nachricht]</p>  
</div>--------------------  

Aber
font-family:monotype
wirkt überhaupt nicht, es wird verdena oder arial genommen. Bei
font-family:courier new,courier,monotype
und
font-family:courier,monotype
waren immerhin die sichtbaren Zeichen (scheinbar) gleich breit, aber die Leerzeichen zusammengeschoben. Und ich will doch nur diese kleine Tabelle übermitteln, muss doch drin sein:

GG     DA        Weinheim  Heidelberg Hbf   HD Bismarkplatz
-----  --------  --------  ---------------  ---------------
14:07  14:30 ab  15:14 ab  15:45 ab STR 21  an 15:50
15:07  ...................................  an 16:50
16:07  ...................................  an 17:50

Hier der Mail-Header (fragt bestimmt jemand danach:

MIME-Version: 1.0
Content-Type: text/HTML; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: [name_s] <[email_s]>
Return-Path: <[email_s]>

Oder liegt es daran, dass gmx.de als Empfänger dazwischenpfuscht?

Gruß, Kalle

  1. Oder liegt es daran, dass gmx.de als Empfänger dazwischenpfuscht?

    Naja, letztlich kannst du nichts steuern, der Empfänger entscheidet nunmal wie er es sich darstellt. Aber...

    (...) ich will doch nur diese kleine Tabelle übermitteln(...)
    Content-Type: text/HTML; charset=UTF-8

    Wenn du schon HTML in E-Mails verwendest... warum dann kein Table-Element?

    --
    sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
  2. Hallo,

    per PHP verschicke ich Mails, deren Text Besucher der Webseite eingeben.
    Beim Empfänger soll die Nachricht in festen Zeichenbreiten ankommen.

    darauf hast du aber nicht viel Einfluss. Das entscheidet der Mailclient des Empfängers anhand seiner Konfiguration. Plaintext-Mails stellt er in der vom Anwender eingestellten Schrift dar; HTML-Mails mit etwas Glück so, wie es der Absender wollte - eventuell aber auch nur als uninterpretierten Quellcode.

    .courier {font-family:monotype}

    "monotype" ist mir fremd. Meintest du vielleicht "Monospace"?

    aber die Leerzeichen zusammengeschoben.

    Wenn du schon HTML-Mails veschickst, solltest du auch bereit sein, die Konsequenzen (hier: Zusammenfassen von Whitespace) in Kauf zu nehmen, oder ihnen gezielt entgegenwirken (pre-Element). Allgemein sind übrigens die CSS-Qualitäten der meisten Mailclients noch schlechter als die der gängigen Browser.

    Und ich will doch nur diese kleine Tabelle übermitteln

    Warum notierst du dann keine Tabelle?

    Was du bisher machst, ließe sich IMHO besser als normale Textnachricht (nicht HTML) versenden.

    Oder liegt es daran, dass gmx.de als Empfänger dazwischenpfuscht?

    Nö. Der Betreiber des Mailservers ist für Transport und Zustellung verantwortlich, nicht für Darstellung oder Manipulation des Inhalts (außer ggf. dem Hinzufügen bestimmter Headerzeilen).

    So long,
     Martin

    --
    Wissen erwirbt man, indem man immer das Kleingedruckte sorgfältig liest.
    Erfahrung bekommt man, indem man das nicht tut.
    1. Hallo,

      .courier {font-family:monotype}

      "monotype" ist mir fremd. Meintest du vielleicht "Monospace"?

      Da hat man ein falsches Stichwort im Kopf, sucht bei google und wird auch noch bestätigt. Zumindest beim Überfliegen der Fundliste ;-)

      ... oder ihnen gezielt entgegenwirken (pre-Element).

      Problem von pre ist, dass Fließtext nicht umgebrochen wird.

      Und ich will doch nur diese kleine Tabelle übermitteln

      Warum notierst du dann keine Tabelle?

      Als Besucher bei der Eingabe eines Mail-Textes?

      Gruß, Kalle

      1. Hi,

        .courier {font-family:monotype}

        "monotype" ist mir fremd. Meintest du vielleicht "Monospace"?

        Da hat man ein falsches Stichwort im Kopf, sucht bei google und wird auch noch bestätigt. Zumindest beim Überfliegen der Fundliste ;-)

        Warum in Ferne schweifen, wenn gutes Doku liegen nahe.

        http://de.selfhtml.org/css/eigenschaften/schrift.htm#font_family

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
      2. n'Abend!

        ... oder ihnen gezielt entgegenwirken (pre-Element).
        Problem von pre ist, dass Fließtext nicht umgebrochen wird.

        Nun, entweder willst du eine exakte Textwiedergabe, oder automatischen Textfluss. Exakte Wiedergabe von Leerzeichen, aber gleichzeitig einen automatischen Zeilenumbruch zu wollen, erscheint mir paradox. "Ja, das Hemd ist bequem, es passt sich der Bewegung wunderbar an. Aber gibt's das auch in einer Ausführung, die sich nicht dehnt?"

        Und ich will doch nur diese kleine Tabelle übermitteln
        Warum notierst du dann keine Tabelle?
        Als Besucher bei der Eingabe eines Mail-Textes?

        Warum nicht? Wenn du "als Besucher Besucher bei der Eingabe eines Mail-Textes" die nötigen Headerzeilen eingeben kannst, die die Mailnachricht als HTML-Mail kennzeichnen, wirst du doch auch die paar Tags eingeben können, um eine HTML-Tabelle darzustellen.

        So long,
         Martin

        --
        Das Leben ist lebensgefährlich und endet meistens tödlich.