Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SMTP und der Punkt

Mitglied: StefanKittel

StefanKittel (Level 4) - Jetzt verbinden

21.03.2014, aktualisiert 22:37 Uhr, 1675 Aufrufe, 5 Kommentare

Hallo zusammen,

ich beschäftige mich gerade mal wieder mit dem SMTP-Protokoll und bin dabei auf ein Prinzip-Problem gestoßen.
Ich hatte immer wieder Emails denen einfach Teile fehlte.

Für alle die nicht fließend SMTP sprechen hier ein einfaches Beispiel.
(Quelle:http://de.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol)
01.
  
02.
220 service ready 	Server meldet sich bereit 
03.
HELO foobar.example.net 		Client nennt seinen Namen 
04.
250 OK 	Server bestätigt 
05.
MAIL FROM:<sender@example.org> 		Client nennt Absenderadresse 
06.
250 OK 	Server bestätigt 
07.
RCPT TO:<receiver@example.com> 		Client nennt Empfängeradresse 
08.
250 OK 	Server bestätigt 
09.
DATA 		Client kündigt Inhalt der E-Mail an 
10.
354 start mail input 	Server bereit für diesen längeren Vorgang 
11.
From: <sender@example.org> 
12.
To: <receiver@example.com> 
13.
Subject: Testmail 
14.
Date: Thu, 26 Oct 2006 13:10:50 +0200 
15.
 
16.
Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. 
17.
18.
250 OK 	Server bestätigt und übernimmt die Verantwortung für die Nachricht 
19.
QUIT 		Client fordert Verbindungstrennung an 
20.
221 closing channel 	Server kündigt Trennung an


Der Client beendet seine Eingabe mit "<CR><LF>.<CR><LF>". Also eine neue Zeile in der nur ein Punkt steht.
Wenn dies in der Mitte einer Mail vorkommt geht der SMTP-Server davon aus, dass der Text nun zu Ende ist und interpretiert den Rest als Befehl.
Einen Befehl den es nicht gibt.

Also darf diese Zeichenfolge in einer Mail nicht vorkommen.

Ich habe eben mit einem Tool das Postfach meiner Frau durchgeschaut und dabei über 200 Mails gefunden wo dies vorkommt.
Zum Beispiel fast alle Mails von Amazon.

01.
  
02.
mily: Arial,Helvetica,Sans-Serif; font-size: 10px; color: #bfbfbf">hier</a>= 
03.
04.
<br /><br />


Was macht man mit solchen Mails damit die zugestellt werden können?
a) Die Zeichenkette verändern. Dann wird eventuell aber auch die Mail oder ein Anhang beschädigt.
b) Dem Server sagen, dass er dies ignorieren soll. Aber wie?

Weiß Jemand was zu diesem Thema?

Viele Grüße

Stefan
Mitglied: colinardo
21.03.2014, aktualisiert 22.03.2014
Hallo Stefan,
soweit ich informiert bin, prüfen die Mailclients bzw. Server normalerweise vor der Übertragung ob im Body der Mail ein einzelner Punkt ganz am Anfang einer Zeile steht und fügen falls nötig einen zweiten Punkt hinzu damit es zu keinen Problemen kommt. Falls auf einen Punkt am Anfang der Zeile weitere Zeichen folgen, wird der Punkt entfernt.
Es gab vor einiger Zeit immer mal wieder Probleme mit SMTP Bibliotheken die dies nicht korrekt umgesetzt haben, so dass es zu diesem Phänomen kommt.
Da gab es auch mal einen Hotfix für den EX2003 der dieses Problem hatte: http://support.microsoft.com/?kbid=891862

Wenn, dann betrifft das nur den Nur-Text Part einer Mail da andere Formate meistens Base64 oder quoted printable kodiert übertragen werden und deshalb keine Punkte beinhalten.

Grüße Uwe
Bitte warten ..
Mitglied: Lochkartenstanzer
22.03.2014, aktualisiert um 08:07 Uhr
ich beschäftige mich gerade mal wieder mit dem SMTP-Protokoll und bin dabei auf ein Prinzip-Problem gestoßen.

Und Du meinst, Du wärst Der erste, dem das aufgefallen ist? Wenn Du den RFC 5321: "Simple Mail Transfer Protocol" statt des Wikipedia-Artikels liest, weißt Du, daß da andere dieses Problem schon bedacht haben. Abschnitt 4.5.2 beschreibt, was da zu tun ist.

lks

PS: Schon im Ur-RFC821: "SIMPLE MAIL TRANSFER PROTOCOL" von Jonathan B. Postel
wurde das 1982 schon beschrieben.
Bitte warten ..
Mitglied: dog
22.03.2014 um 11:27 Uhr
Um es nicht zu spannend zu machen: Der "." wird escapt indem via SMTP ".." gesendet wird.
Bitte warten ..
Mitglied: Lochkartenstanzer
22.03.2014 um 11:34 Uhr
Zitat von dog:

Um es nicht zu spannend zu machen: Der "." wird escapt indem via SMTP ".." gesendet wird.

Und der Empfänger weiß, daß wenn er eine zeile mit nur einem einzigen Punkt enthält, die datenübertragung zu Ende ist und entfent ansonsten vonjeder Zeile die mit einem Punkt anfängt den ersten Punkt.

lks
Bitte warten ..
Mitglied: Lochkartenstanzer
22.03.2014 um 11:38 Uhr
Noch Ergänzend dazu:

wenn man wie ich gerne auch Mail per telnet oder netcat verschickt. soltle man natürlich dafür sorgen, daß dieses escapen manuell passiert., indem man z.B. per sed die Punkte am Anfang verdoppelt.

lks
Bitte warten ..
Ähnliche Inhalte
Netzwerkgrundlagen

Frage zu Punkt-zu-Punkt Verbindung und Broadcast-Netz

gelöst Frage von ichigo77Netzwerkgrundlagen3 Kommentare

Hallo, Es geht um die Schicht 2 (Sicherung) im OSI-Model : Bei Punkt-zu-Punkt Verbindungen (z.B. zwischen Telefonanschluss und ISP ...

Batch & Shell

Punkt durch Komma ersetzen

Frage von TingelTangelbatchBatch & Shell9 Kommentare

Hallo, für eine batch Datei suche ich folgende Hilfe / Code: Ich habe monatlich ca. 10 Textdatein welche Werte ...

Batch & Shell

Dateinamen mit Punkt einer Variablen zuweisen

gelöst Frage von DanilowitzBatch & Shell4 Kommentare

Hallo Leute, Bin neu hier im Forum und hätte eine Frage zur Batchprogrammierung, zu welcher ich im Internet keine ...

Entwicklung

Versteckte .(Punkt)Dateien löschen

Frage von DarkJMEntwicklung3 Kommentare

Hallo zusammen, ich brauche eure Hilfe. Ich muss ein Skript schreiben das versteckte Mac Dateien also Punkt-Dateien löscht von ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 1 StundeErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 3 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 3 StundenMicrosoft3 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 2 TagenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1025 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Server-Hardware
Server für Exchange 2016, Kaufberatung
Frage von MazenauerServer-Hardware10 Kommentare

Guten Tag werte Gemeinde, Vorab: Ich dachte es gab mal einen separaten Bereich für solche Anfragen, habe ich leider ...