WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 05.06.2007, 09:46   #1
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard SMTP Mail "validieren"?

Hi!

Gibt es die Möglichkeit eine e-Mail, welche per SMTP gesendet wird "validieren" zu lassen, dass nur erlaubte Zeichen gesendet werden und die Mail korrekt beendet wird?

Mein Problem ist nämlich, dass eine .NET Anwendung eine HTML-Mail sendet und darin anscheinend ein unerlaubtes Zeichen vorkommt bzw. die Mail nicht korrekt mit <CRLF>.<CRLF> abgeschlossen wird. Manche (genau gesagt 2 von geschätzten 800-1000) Empfangsserver nehmen dadurch die Nachricht nicht an.

Die .NET Anwendung sendet direkt über den IIS SMTP der die Mail ohne Smarthost zustellt.
Auch eine Weiterleitung an den Exchange und dann ins Internet funktioniert nicht (der Exchange ändert den Mail-Inhalt nicht --> das "unerlaubte" Zeichen ist noch da).

Denn öffnet man die nicht zugestellte Mail per Outlook und sendet sie erneut, funktioniert der Versand. (d.h. Outlook verändert irgendwas an der Mail automatisch und dann klappt die Zustellung)

Bzw. kennt jemand eine Zusammenfassung der DO's and DON'Ts beim Mailversand (möchte ehrlich gesagt nicht das Protokoll "auswendig lernen" )

Danke, lg renew
renew ist offline   Mit Zitat antworten
Alt 05.06.2007, 13:35   #2
void
Hero
 
Benutzerbild von void
 
Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811


Standard

warum vergleichst du nicht einfach das "original"-mail mit dem mail, welches outlook versendet? die unterschiede lassen sich danach auch sicher leicht manuell (also selbst programmiert) nach dem gleichen schema ändern...
____________________________________
nobody is perfect
void ist offline   Mit Zitat antworten
Alt 05.06.2007, 14:04   #3
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

Das habe ich natürlich schon einmal gemacht (mit Ultraedit - DIFF)
Leider sind die Unterschiede nicht so klein.

Außerdem habe ich keinen direkten Zugriff auf den kompletten Source (also inkl. Header & Co) des Mails! Man hat nur die Object-Properties (Subject, Body, MailFrom, ...) bearbeiten.

Außerdem könnte es auch ein unerlaubter Newline Character (\n) od. ähnlicher nicht sichtbarer character sein sein. Auch wenn ich nicht glaube, dass das Schuld ist - da ich diese Probleme schon ausgebessert habe bzw. mir gerade nochmals den Source des Files angeschaut habe und Notepad keine fehlerhaften Newlines "meldet" (auch Ultraedit meckert nicht...)

Habe inzwischen auch das Email-Format auf TXT umgestellt (es gibt auch ein TXT Template) und diese Mail ist durchgegangen - ich warte allerdings noch auf die Bestätigung der anderen Seite.
renew ist offline   Mit Zitat antworten
Alt 05.06.2007, 14:44   #4
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

Also die Txt-mail ist definitiv durch gegangen.

--> es muss also am HTML File liegen (bzw. am Code der noch HTML-Code einfügt)
renew ist offline   Mit Zitat antworten
Alt 05.06.2007, 15:29   #5
void
Hero
 
Benutzerbild von void
 
Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811


Standard

das ist jetzt glaube ich eher schwer herauszufinden, da es demnach nicht an den zeilenumbrüchen liegt?! (txt-mails haben ja auch umbrüche) - oder?
"gültiges html" wird es ja eh sein?
passt die codierung bzw. deren angabe?
____________________________________
nobody is perfect
void ist offline   Mit Zitat antworten
Alt 05.06.2007, 17:20   #6
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

Ja es ist eine sehr verflixte Sache.
Probleme mit falschen newlines (also kein CRLF bzw. \r\n) hatte ich wie gesagt schon - da warens ca. 30-40 Server die da gemeckert haben.
Jetzt bin ich eben herunten auf diesen beiden.

Hier noch ein paar Zusatzinfos, was bisher schon erledigt wurde bzw. was ich ausschließen kann:

Hier ein Auszug aus meinem SMTP Log:
Code:
-	-	220+****0*****************
HELO	-	mymailserver.mydomain.at
-	-	250+smtp.receipient2.at
MAIL	-	FROM:<out@mydomain.at>
-	-	250+ok
RCPT	-	TO:<office@receipient.at>
-	-	250+ok
DATA	-	-
-	-	354+go+ahead
--> nach dem 354 sollte eigentlich einmal ein 250 mail queued od. so ähnlich zurückkommen. Tuts aber nicht und die Verbindung wir getrennt (connection reset by ...)

Aja, hier noch ein Eintrag vom Logfile des Empfangsserver (ist eine Linux-Kiste vermutlich mit sendmail - was ich so ergoogelt habe):
Jun 2 06:11:40 mail1 sm-mta-rx[22127]: l523BdMG022127: SYSERR(root): collect: read timeout on connection from gateway.domain.at, from=<versand@domain.at>

Blackgelistet bin ich wohl auch nicht - da würden einige Mails bei ca. 500 Mails/Tag nicht ankommen.

Auch reverse DNS müsste passen bzw. hats da auch kurz Troubles gegeben, die seit dem erstellten MX Eintrag ok sind. (wie man sieht, habe ich schon einige Sachen hinter mir )
renew ist offline   Mit Zitat antworten
Alt 05.06.2007, 17:49   #7
MANX
Inventar
 
Registriert seit: 27.02.2001
Beiträge: 1.967


Standard

Hi!

Du kannst ja mal nachfragen, um welchen MTA es sich handelt.
Das "go ahead" riecht sehr nach qmail, die Fehlermeldung passt zu sendmail.

Nach kurzem googlen fand ich das:
http://www.webservertalk.com/archive...4-1484825.html

.. ein Bug in sendmail 8.13.6?

Grüße

Manx

PS: Ich hab eine Qmail-Kiste am laufen, falls Du was Testen möchtest
____________________________________
Broadcasting from the Isle of Man:
>> Manx Radio <<
MANX ist offline   Mit Zitat antworten
Alt 28.07.2007, 15:30   #8
gnogel
Newbie
 
Registriert seit: 28.07.2007
Beiträge: 1


Standard

Hallo,

habe seit einigen Wochen gleiches Problem.

Nach Analyse eines betroffenen Mails das in der SMTP-QUEUE liegt:
im Textteil der HTML-Nachricht befindet sich eine Zeile mit CRLF.CRLF

Der MS-SMTP-Server von Win2003 SP2 kann diese Nachricht nicht übermitteln. (in beiden Log-Reports wird die Nachricht weder mit OK noch mit einem Error beendet)
Habe es mit einem MS-SMTP-Server von Win2003 SP1 probiert - dort funkt es.

Bei MS bis jetzt keine Info gefunden.

Kennt jemand dieses Problem?

Grüße

Georg
gnogel ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:41 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag