Kmmandozeilen-Mail: HTML wird durch Quoted Printable unbrauchbar

cumulonimbus8

Fleet Admiral
Registriert
Apr. 2012
Beiträge
18.404
Moin!

Windows10 als Basis - wenn es denn daran liegt…

Mehrere Rechner. Mehrere Internetprovider (Telekom, Vodafone). Mehrere Zugangsmethoden (Telekom Festnetz per Fritz 7530, Telekom Mobil UMTS [versagt leider vorher schon], Vodafone 6591 Cable). Zwei Kommandozeilentools (nicht BLAT wegen TLS; CMAIL, SWITHMAIL).

Ich kann in allen Fällen völlig normal mit ThunderBird senden und Empfangen.

Sowie ich aber eine altbewährtes Makro bemühe das altbewährten HTML-Code generiert und auf altbewährte Weise versendet kann ich neuerdings… und ganz ehrlich: damit habe ich AVM und die Version 7.57 auf dem Kieker! …keine HTML-Mails mehr, die den Namen verdienen, absenden. Wann es noch ging muss ich lügen, aber bei der 7.56 oder gar 7.50 (Vodafone) war mir nicht aufgefallen. Es kann aber auch bei mir schon mit 7.56 losgegangen sein. Die Quelle vor dem Senden ist 100% korrekt.

Jede Mail wird irgendwo mit Quoted Printable versucht
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

und damit wird HTML gründlich lahmgelegt:
<BODY BGCOLOR="#FFFFFF" STYLE="margin:0px;"> ↔ <BODY BGCOLOR=3D"#FFFFFF" STYLE=3D"margin:0px;">

Was ärgerlich ist - die Idee mit dem Tethering verpufft. Ich komme nicht mal mit dem Tool über (offenbar) den telekomischen Eingangsserver hinweg. Auch ein anderer APN half nicht. Wenn ich keinen finde der woanders ist und zum Versuchskaninchen wird - dann scheint alles auf AVM und 7.57 hinzudeuten.

Habt ihr hierzu Erfahrungen und Beobachtungen?

Die 6591 muss Probleme mit 7.57 haben da Vodafone das bestätigen musste: dort versagt FTP per Kommandozeile (ja, eben wieder Kommandozeile): das selbe Laptop tut zu Hause (7530) und versagt hinter der Cable-Box auf selbe Weise wie die Rechner dort.

CN8
 
Ich verstehe nicht wirklich was genau passiert.
Du schickst eine Mail an welchen SMTP Server? Wieso sollte die FB da den Inhalt ändern?

FTP oft ist das Problem wenn active statt passive verwendet wird
 
cumulonimbus8 schrieb:
Jede Mail wird irgendwo mit Quoted Printable versucht
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Bist Du sicher, daß die quotes bei charset zulässig sind? Auch die weiteren Hinweise zu 5.1 Quoted-Printable Content-Transfer-Encoding wäre mal wichtig zu lesen:
https://www.w3.org/Protocols/rfc1341/5_Content-Transfer-Encoding.html
Und das hier:

Rule #4 (Line Breaks)​

A line break in a text bodypart, independent of what its representation is following the canonical representation of the data being encoded, must be representedby a (RFC 822) line break, which is a CRLF sequence, in the Quoted- Printable encoding. Ifisolated CRs and LFs, or LF CR andCR LF sequences are allowed to appear in binary data according to the canonical form, they must berepresented using the "=0D","=0A", "=0A=0D" and "=0D=0A" notationsrespectively.
Note that many implementation mayelect to encode the local representationof various content types directly.In particular, this may apply toplain text material on systems that use newline conventions other thanCRLF delimiters. Such an implementationis permissible, but the generationof line breaks must be generalizedto account for the case where alternaterepresentations of newline sequencesare used.
Hier mußt Du bei FTP aufpassen, weil bei Typ ASCII macht es eine automatische Anpassung von Windows (CRLF 0d0a) zu Linux (LF 0a). Ich weiß ja nicht, was Du für ein FTP Du verwendest, aber meistens ist der Default ASCII. Willst Du 0d0a CRLF WIndows durchreichen, mußt Du den Typ BINARY setzen.
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ftp-type
 
Zuletzt bearbeitet:
Auf keinen Fall liegt es am Router bzw. der FritzBox oder an der Art des Netzzugangs.. Der interessiert es nicht,, wie Du da was wohin schickst.

Wenn ich Makro und HTML Mail lese. Dann würde ich mal sagen, da kommt es her. Auch wenn das mal geklappt hat.
 
  • Gefällt mir
Reaktionen: Der Lord
Ich möchte AVM nicht in Schutz nehmen, aber ich kann mir das nicht wirklich vorstellen.
Wie soll eine Router-Firmware Einfluss auf den Inhalt von TCP-Paketen ausüben, außer mit einer MITM-Atacke (und SSL Inspection)?

cumulonimbus8 schrieb:
Die 6591 muss Probleme mit 7.57 haben da Vodafone das bestätigen musste: dort versagt FTP per Kommandozeile
Hast du ein Beispiel dafür, was genau nicht geht? In den KBs von AVM habe ich zumindest nichts gefunden.
 
  • Gefällt mir
Reaktionen: Der Lord
cloudman schrieb:
Du schickst eine Mail an welchen SMTP Server? Wieso sollte die FB da den Inhalt ändern?
Eben das wäre die Frage. 7.57 ist die einzige Änderung die alle Problemstellen gemeinsam haben. Zumindest ist das die beste Erkenntnis bisher.

nutrix schrieb:
Bist Du sicher, daß die quotes bei charset zulässig sind?
Ich bin nur einem sicher: vorher ging’s. Was du da liest stammt aus dem Header der Mail - wo sonst taucht so was auch auf..?

nutrix schrieb:
Hier mußt Du bei FTP aufpassen
Es geht ums HTML-Senden. FTP, zeitliche Koinzidenz betrifft das Abholen . auch das mit lange bewährtem Code. (Vgl. das Laptop an beiden Orten.)

BlubbsDE schrieb:
Auf keinen Fall liegt es am Router bzw. der FritzBox oder an der Art des Netzzugangs.. Der interessiert es nicht,, wie Du da was wohin schickst.
Das dachte ich auch… →
BlubbsDE schrieb:
Wenn ich Makro und HTML Mail lese. Dann würde ich mal sagen, da kommt es her. Auch wenn das mal geklappt hat.
→ es hat nicht mal geklappt, es funktioniert so dauerhaft über Jahre. Auf meinen Code lasse ich nichts kommen.

kartoffelpü schrieb:
Ich möchte AVM nicht in Schutz nehmen, aber ich kann mir das nicht wirklich vorstellen.
Tja, erlebte ich nicht was ich erlebe würde ich das mühelos unterschreiben.

kartoffelpü schrieb:
Hast du ein Beispiel dafür, was genau nicht geht?
Ich habe jetzt keine Handhabe die Fehlermeldungen der DOS-Box einzukopieren. Auch FileZilla «kann keine Verbindung herstellen».
Morgen früh wäre das machbar.

Ich würde nicht auf AVM zeigen wenn nicht alle Fäden so zusammenliefen…

CN8
 
Also wenn du TLS für die SMTP Verbindung nutzt kann die Fritzbox den Content ganz sicher nicht ändern.
Macht sie auch so nicht da bin ich zu 99,9% sicher aber damit kannst du ganz sicher gehen.

Vielleicht wurde am SMTP Server etwas verändert?
 
Zuletzt bearbeitet:
Nichts wurde auf meiner Seite… auf meinen Seiten verändert.
Probater Code seit Jahren. Was sich zuletzt änderte ist 7.56 auf 7.57. Zumindest ist nichts Anderes erkennbar.

Muss morgen früh raus, Gute Nacht.

CN8
 
Hi...

Wie wär's denn das mit 'ner anderen DSL-FB, praktisch als Kreuzvergleich, auf Funktion gegenzutesten?
Entweder bestätigt sich so Deine These oder Du mußt doch nochmal intensiver ins Troubleshooting.
 
User007 schrieb:
Wie wär's denn das mit 'ner anderen DSL-FB, praktisch als Kreuzvergleich, auf Funktion gegenzutesten?
Was immer eine DSL-FB sein soll: mehr als 2 Standorte mit 2 Providern geht wohl kaum als Beweis? Nur der Telekommische Tetehering-Murks geht mir auf den Zeiger…
[Ach FB für Fritte?]

Exkurs FTP
Aus einer DOS-Box (OK, CMD…) mit dem selben Laptop das zu Hause tut nun im Büro:

Resolving www.[XXX]... [IP]
Connecting to www.[XXX]|[IP]|:21... connected.
Logging in as [YYY] ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /{Ordner} ... done.
==> PASV ... done. ==> LIST ... done.

[ <=> ] 0 --.--K/s

05:25:03 (0.00 B/s) - Data transfer aborted.
Retrying.


Ebenso tut FileZilla nicht wenn ich [XXX] (VM Win-Serever bei Strato) mit vorher funktionierenden Voreinstellungen erreichen will:

Status: Resolving address of www.[XXX]
Status: Connecting to [IP]:21...
Status: Connection established, waiting for welcome message...
Status: Plain FTP is insecure. Please switch to FTP over TLS.
Status: Logged in
Status: Retrieving directory listing of "\"...
Command: CWD \
Response: 250 CWD command successful.
Command: PWD
Response: 257 "/" is current directory.
Command: TYPE I
Response: 200 Type set to I.
Command: PASV
Response: 227 Entering Passive Mode ({…}).
Command: LIST
Response: 150 Opening BINARY mode data connection.
Response: 550 The network connection was aborted by the local system.
Error: Failed to retrieve directory listing


Es klappt aber mit dem Serverzertifikat. Das macht mich noch mehr kirre.

Und eben - identische Einstellungen funktionieren zu Hause. Bis auf den Mailversand…
Wenn ich eine ruhige Minute finde will ich mal sehen eine 2. 7530 auf 7.56 zurückzuflashen (gar 7.50) und zu beobachten (keine Lust wegen der Kabelage umterm engen Tisch rumzukrabbeln… 😇)
Hier im Büro bin ich von Vodafone abhängig und machtlos. Mal sehen bei welchem Mobilprovider der Kollege ist, dann wird der Tethering-Versuchkaninchen.

So weit für jetzt,
CN8
 
cumulonimbus8 schrieb:
Command: PASV
Response: 227 Entering Passive Mode ({…}).
Command: LIST
Response: 150 Opening BINARY mode data connection.
Response: 550 The network connection was aborted by the local system.
Error: Failed to retrieve directory
Ist da
Bei passiv steht in der Server Antwort der auf dem der Client die Datenverbindungen aufbauen soll .
Das funktioniert hier anscheinend nicht.
Vielleicht ist der Port nicht freigegeben.

SMTP:
Statt einen FB downgrade zu machen würde ich lieber TLS verwenden. Dann ist alles verschlüsselt und kein Router kann den Inhalt ändern.
Mit powershell kann du es relativ einfach testen

https://tecadmin.net/powershell-sending-email-via-smtp/
 
@cloudman
Verändert wurden: Fritz!Box 6591 Cable durch eine neue Firmware seitens Vodafone und meine private 7530 mit (von mir ausgelösten) Upgrades von 7.50 auf 7.56 (so weit habe ich da nicht genau das Verhalten beim Senden geprüft) und 7.57 wo mir das Sendeproblem direkt aufgefallen ist.

→ TLS ist in Verwendung, dran kanns nicht liegen. Warum die Verbindung nicht aufgebaut wird ist das kleine FTP-Rätsel da es standortabhängig eintritt. Das große ist quoted-printable.

Wenn bei euch an solchen Boxen mit dieser Firmware alles flutscht habe ich ein sehr komisches Problem das (beobachtungsmäßig) zeitgleich an zwei Standorten und auf mehreren verschiedenen Rechner auftrat.

Mehr als den Tetheringversuch (= anderer Verbindungsweg) und des Box-Downgrade fällt mir nicht als Versuch ein.

CN8
 
Ich verstehe deine Logik zur Fehlersuche nur welchen Einfluss soll die FB hier haben.
Dazu müsste sie das SMTP Server Zertifikat faken und als man in the middle agieren. Die mail parsen und dann quoted printable einfügen. Klingt das wahrscheinlich?

Womit wird denn die mail verschickt?
So wie ich es verstehe ist es dein Code. Welche Sprache / Framework wird verwendet.
Vielleicht gab es vor kurzem ein Update einer Library?

In .NET gibt es zum Beispiel isBodyHtml

Statt quoted-printable für transfer encoding könntest du auch 8bit testen
 
cloudman schrieb:
Ich verstehe deine Logik zur Fehlersuche nur welchen Einfluss soll die FB hier haben.
Habe eben noch mal Vodafoen angerufen. Man mache AVM Druck im Kessel wurde formuliert. Also haben die am Spree-Bogen da was versemmelt das auf verdammt subtile Wiese in den Datenstrom pfuscht. Aber nun kommt die Tethering-Hoffnung zur Tür rein.



Das ganze nimmt den Charakter einer Tragödie an: auch über Tethering und einer älteren Kommandozeilen-Version passiert das.
Der Output ist 100% sauber und wird in Browsern einwandfrei geparst, weil ohne 3D - was rausgeht kommt unbrauchbar an.

CN8
 
Nun gut dann viel Spaß.
Ich bleibe dabei - es ist technisch nicht möglich, dass ein Router den Inhalt einer verschlüsselten Nachricht verändert.
Nur der SMTP Server kann den Inhalt wieder entschlüsseln.
Der könnte dann etwas ändern wenn er die Nachricht an ein Postfach oder einen anderen SMTP Server schickt.

Und ich bin wirklich neugierig was letztendlich die Lösung ist.

Ergänzung :

Woher weißt du das die Mail richtig raus geht? Entweder dein Mail Client kann die Nachricht vor dem versenden als raw ausgeben oder du machst einen Netzwerktrace in dem du aber wegen TLS nichts sehen solltest.

Wurde vielleicht der HTML Inhalt in letzter Zeit verändert. Es sind nur die Gleichheitszeichen die als =3D codiert werden.

Apropos Korrekt.
Ich bin mir da nicht sicher. =3D ist die codierte Version von =.
Sollte nicht der Empfänger die Codierung wieder rückgängig machen?
Inwieweit das zusammen mit UTF-8 gültig ist weiß ich nicht.

Und wenn ich mir die Ergebnisse von https://www.google.com/search?q==3d+email+encoding ansehen ist es jedes Mal ein Problem mit dem Mail Client
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Der Lord, nutrix und kartoffelpü
cumulonimbus8 schrieb:
Wenn ich eine ruhige Minute finde will ich mal sehen eine 2. 7530 auf 7.56 zurückzuflashen (gar 7.50) und zu beobachten
Das würde ich angesichts der Sicherheitslücken von AVM aktuell lieber lassen:
https://www.heise.de/news/Fritzbox-...AVM-dichten-Sicherheitsluecke-ab-9294758.html

Ich würde dann eher mal den Workflow anschauen und ändern. Mußt Du die E-Mails so versenden oder gibts auch andere Wege? Wie verhält sich beispielsweise Linux mail?
 
cloudman schrieb:
Woher weißt du das die Mail richtig raus geht?
Ich muss das annehmen, da sie bis zum Ausgang sauber ist. Ist nur die Frage wo «raus» endet.
Die Sendetools? Müssten auf diversen Maschinen in diversen Versionen alle ›gekippt‹ sein - kaum anzunehmen.
Win 10? Das wäre allerdings der Brüller. (Ich wollte eine VM anstrengen, aber da hatte es einen kleinen Unfall…)

Wären Tischplatten nahrhaft - ich hätte längst kräftig reingebissen.

cloudman schrieb:
Wurde vielleicht der HTML Inhalt in letzter Zeit verändert.
Nein, der Code = die Codebasis ist ausreichend alt schon funktioniert zu haben; und es erwischt… →
cloudman schrieb:
Ich bin mir da nicht sicher. =3D ist die codierte Version von =.
→ Zweifelsfrei. Aber es erwischt das = auch in Tabellen (<TR HEIGHT=3D"30">) wobei ich der eigenartigen Meinung unterliege, dass es hier keine Unfälle provoziert.
😮 Ja - renne ich da die ganze Zeit einem Phantom hinterher und es klingelt nur beim Font-Style der dann nicht richtig geparst wird?

cloudman schrieb:
Sollte nicht der Empfänger die Codierung wieder rückgängig machen?
Der Empfänger bin - ich. Oder der Kollege. Das Problem taucht überall auf. Auch in Web-Mailern (IONOS, Telekom nicht geprüft → fahrlässig. GMX und Web.DE gehören blöderweise zum Haufen IONOS; nur hatte ich gerade nur die zum Testen).


nutrix schrieb:
Das würde ich angesichts der Sicherheitslücken von AVM aktuell lieber lassen:
Wewnn du eine kurzfristige Vergleichslösung hättest nähme ich sie gerne. Schachspielerweisheit: in Ermangelung einiger guter Züge spielt man ein paar schlechte.

nutrix schrieb:
Ich würde dann eher mal den Workflow anschauen und ändern.
Kurz - wir kleben an Excel (=VBA) und damit WIN. Auch die Aufbereitung, SPSS, sollte sich nicht mal eben portieren lassen.
Ging ja bis ›vor 4 Wochen‹ (oder so)… Was ist da nur faul, was? Hätte ich noch alte Mails (Testsendungen an mich) irgendwo liegen (wird halt gemüllt weil teils voluminös auftretend) könnte das helfen. Vielleicht, vielleicht, vielleicht… Ich werde echt ganz kirre.

CN8
 
cumulonimbus8 schrieb:
Kurz - wir kleben an Excel (=VBA) und damit WIN. Auch die Aufbereitung, SPSS, sollte sich nicht mal eben portieren lassen.
Ich meinte eher nur das Thema E-Mail-Versenden separieren auf einen separaten Host. Um die Fritzbox hier auszuhebeln, baust Du von Windows einen verschlüsselten Tunnel zu einem externen Host, der dann die E-Mails versendet. Oder Du verwendest und testest mal eine lokale VM mit einem Linux und steigst auf mail direkt um, einfach mal nur um zu sehen, ob das besser geht. Die VM dann über eine Netzfreigabe die Mails holen und versenden lassen ist dann ein leichtes.
 
Zurück
Oben