[Gelöst] Line limit exceeded

Hallo zusammen,

mal wieder ein Problem. Wir haben eine Adressverwaltung mit Mailingsystem im Einsatz. Jetzt wollten wir einen Newsletter im HTML-Format versenden. Dabei haben wir festgestellt das der Code von break zu break in einer Zeile maximal 998 Zeichen haben darf um Conform zu bleiben bzw. übertragen wird. Jetzt haben wir das Problem obwohl breaks eingesetzt sind, das ich etwas mehr Text einsetze und die Zeichenlänge maximal 500 Zeichen sind, die eMail nicht mehr versendet wird und der Fehler: 500 line limit exceeded kommt. Wir versenden diese eMail mit einem PHP-Script welches an einer MySQL-Datenbank angebunden ist. Die eMail selber besteht aus einfachstem HTML. Gibt es ein Programm wo man kontrollieren kann wieviele Zeichen von break zu break in einer Zeile stehen bzw. hat jemand eine Idee warum es nach einfügen von zwei kleineren Texten nicht mehr funktioniert?

Wäre echt dringend, da Google mir bisher nicht weiterhelfen konnte. Auch den Hersteller des Scriptes kann ich nicht erreichen. Hat jemand eine Idee?

Bitte nicht sagen “schreib eine Textmail”. Das ist leider so vom Chef nicht gewünscht leider.

Wenn ‘break’ eine definierte Zeichenkette ist, kannst du das
nutzen, um mit der Funktion explode eine Zeichenkette in ein
array zu zerlegen. Mit der Funktion strlen kannst du die Länge
einer Zeichenkette ermitteln. Beide kombiniert sollte dir die
Information liefern, wo eine Zeile zu lang ist.
Wenn das HTML-Kram ist, ist es indes nicht ganz trivial, das
aufzutrennen, sollte aber zumindest da gehen, wo ein Leerzeichen
in der Zeile steht, kommt keines vor, so kann man schon mal
nach oder vor einer Elementmarkierung trennen.
Danach wird es dann endgültig knifflig, etwa wenn da irgendwo
eine URI steht, die zu lang ist.

Und was bedeutet das nun für mich? Muß der Code des Scriptes angepasst werden dafür oder kann man das anders lösen?

Ein Tool welches die Zeichen zählen könnte wäre super sozusagen zum überprüfen der HTML-Datei. Wir nutzen Phase5 als Editor und kopieren den fertigen Quelltext dann in den Webmailer.

Codeschnipsel oder vielleicht ein entsprechendes Programm, welches mir anzeigt wo was zu lang ist gibt es sowas?

Oben hatte ich das so verstanden, daß das ein PHP-Skript sei.
Du schreibst also die eigentliche Nachricht mit Phase5 als
normales HTML-Dokument?
Da es HTML egal ist, wie lang die Zeilen sind, wird sich Phase5
da nicht groß drum kümmern, was du da reinschreibst.
Ich keine das Teils jetzt nicht besonders gut, habe mir das vor
Jahren mal ein paar Minuten angeguckt, aber ein besserer Editor
zeigt bei Bedarf sowohl Zeilennummer als auch Position in der
Zeile an. Man sollte meinen, du brauchst damit nur nach der
längsten Zeile gucken und die dann manuell umbrechen.
Auch kannst du das Anzeigefenster grob so dimensionieren, daß
nur die erlaubte Breite angezeigt wird.
Bricht der Editor nur für die Darstellung die Anzeige um, macht
er bei mir zumindest ein deutliches Zeichen an die betroffene
Stelle - kann man auch nach suchen, vermutlich kann man das
Verhalten sogar abschalten und horizontales Rollen fordern, so
daß man noch leichter sehen kann, wenn was übersteht.

Wenn das PHP-Skript das automatisch machen soll, pappst du
wie gesagt den Nachrichtentext in eine Zeichenkette und
behandelst die wie gehabt - ist eine einfache Ergänzung kurz
bevor der Kram zum Absenden zu einer email zusammengesetzt
wird. Sofern du da keine Problemfälle wie zu lange URIs drin
hast, sollte das recht einfach zu machen sein.

Kannst natürlich auch - wie man das dann anständigerweise
macht, die email so basteln, daß es alternativ zur HTML-Version
auch eine Textversion gibt. Die HTML-Version kannst du dann
einfach mit base64 email-tauglich machen. Eine zusätzliche
Text-Version hat auch den Vorteil, daß solche eine email nicht
gleich ungelesen als spam im Mülleimer landet, wenn sie direkt
lesbare Information enthält (mein email-Programm zeigt
HTML-Kram nur an, wenn ich explizit dazu auffordere, was
allenfalls passiert, wenn es für mich anhand der Text-Version
so aussieht, als ob die HTML-Version relevante Information
enthält, die das Drama lohnt.
Viele Spam-Detektoren sortieren solche emails auch gleich aus,
die nur aus Markierungssuppe bestehen, ist also nicht zu
empfehlen, sowas allein zu senden.

forum.de.selfhtml.org/archiv/2008/3/t168247/

Dein Skript verwendet wohl die alten Standards von RFC 821 und RFC 822.
Wie’s mit dem neuerern Standard RFC 1341 aussieht weiß ich jetzt nicht genau, aber da man über Mail auch ein paar Megabyte verschicken kann, wird der wohl mehr zulassen :wink:

Ohne direkte Änderung am Skript wird das eher nicht möglich sein. Ansonsten kannst du dir ja mal die Spezifikationen von RFC 1341 durchlesen und das Skript anpassen versuchen.

Hallo,

wir erstellen den HTML-Teil im Editor phase 5 und fügen diesen dann in den Editor des Scriptes mit welchem wir versenden wollen ein. Dort ist extra die Funktion Quellcode einzugeben hinterlegt. In der Voransicht sieht auch alles super aus und ich kann auch keine Zeile finden welche zu lang sein soll.

Von wo bis wo ist denn eine Zeile? Von “break (br) zu break”?

Mit Voransicht meinst du die Interpretation des ganzen als HTML?

Wie “lang” dort irgendwelche “Zeilen” sind, interessiert niemanden.

Nein, von Zeilenumbruchzeichen zu Zeilenumbruchzeichen.

E-Mail ist der Kontext, der hier interessant ist, nicht HTML.

Hallo michi,

diesen Link hatte ich auch schon gefunden. Anpassen auf den anderen Standard? Problem ist, das ich nicht weiß wie das funktioniert da ich wie gesagt nur optische Anpassungen gemacht habe. Das Script selber ist ja gekauft. Nur den Programmierer erreiche ich nicht.

Zeilenumbruchzeichen ist doch
oder etwa nicht?

Im Quelltext kann ich keinen Fehler entdecken.Oder muß ich in der HTML-E-Mail ein \n als Zeilenumbruch verwenden?

Vielleicht hab ich Zeit das Skript etwas anzupassen, aber du musst mit dem Programmierer ausmachen ob ich das darf…

Das ganze hat eher nichts mit der Anzahl der Zeilen zu tun, eher mit dem Inhalt. Du musst in Mails immer \r\n als Zeilenumbruch verwenden, dieser wird in einer HTML-Mail dann aber nicht angezeigt.

Nein.
Wie ich gerade schon sagte:

E-Mail ist hier die beteiligte Komponente, die hier ein Problem hat mit dem, was du ihr übergibst.

HTML ist nur der Inhalt, den du transportieren willst - der könnte auch reiner Text, oder ein Videofilm sein - das ist dem Format E-Mail nicht weiter wichtig. Nur, dass du seine “Syntax” einhältst, das schon.

Nur wie mache ich das mit dem Programmierer aus wenn ich den weder per eMail noch per Telefon erreiche? Versuche ich ja schon seit einigen Wochen. Script verkauft aber Support Fehlanzeige.

Ja ok also dann ist es so daß das Script ein Problem hat richtig? Man, man, man am liebsten würde ich das selber machen aber das ist mir leider eine Nummer zu hoch. Bin ja schon froh das ich die optischen Anpassungen geschafft habe (vermutlich auch nicht ganz fehlerfrei) aber zumindest die Optik stimmt.


Problem hat sich erledigt. Es lag an einer Einstellung im Script und an unserem Webhoster. Danke an alle für eure Mithilfe. :wink: