.net: System.Web.Mail vs System.Net.Mail

75

Ich denke darüber nach, ein Projekt, das ich von .net 1.1 geerbt habe, in .net 2.0 zu konvertieren. Die Hauptwarnung, über die ich mir Sorgen mache, ist, dass ich von System.Web.Mailzur Verwendung wechseln soll System.Net.Mail.

Ich bin nicht bereit, alle Komponenten mit dem veralteten Format neu zu schreiben. Daher System.Web.Mailbin ich gespannt, ob Community-Mitglieder Probleme mit der Verwendung unter .net 2.0 hatten.

Dana
quelle

Antworten:

109

System.Web.Mail ist keine vollständige native .NET-Implementierung des SMTP-Protokolls. Stattdessen wird die bereits vorhandene COM-Funktionalität in CDONTS verwendet. Im Gegensatz dazu ist System.Net.Mail eine vollständig verwaltete Implementierung eines SMTP-Clients.

Ich hatte weit weniger Probleme mit System.Net.Mail, da es die COM-Hölle vermeidet.

Curt Hagenlocher
quelle
9
System.Net.Mail ist auch vollständiger. Es unterstützt MIME ordnungsgemäß, sodass Sie formatierte HTML-Nachrichten mit eingebetteten Ressourcen wie Bildern erstellen können, ganz zu schweigen von alternativem Klartext für E-Mail-Clients auf niedriger Ebene.
Peter Wone
10

Das größte Problem bei System.Net.Mail ist, dass implizites SSL nicht unterstützt wird. Verwenden Sie System.Web.Mail, bis Sie keine implizite SSL-Unterstützung mehr benötigen.

Travis Heseman
quelle
Vielen Dank. Wir wechseln zu einem anderen SMTP-Server, weshalb SSL obligatorisch ist. Wir müssen also System.Net.MailSSL unterstützen.
Venkataraman R
5

System.Web.Mail ist veraltet, sollte aber weiterhin funktionieren. Sie werden sich über Warnungen darüber ärgern, dass es veraltet ist, aber die Funktionalität bleibt bestehen ... vorerst.

Ich würde anderen zustimmen, dass die Konvertierung zu System.Net.Mail sehr trivial war. Ich bezweifle, dass Sie mehr als ein oder zwei Zeilen neu schreiben müssten.

Mike L.
quelle
4

Die wenigen Male, als ich darauf stieß, stellte ich fest, dass die Methoden und Eigenschaften fast alle identisch waren - das Ändern des Objekttyps war fast alles, was ich tun musste. Es gab ein oder zwei andere kleine Dinge, aber sie tauchten mit den Zeilen auf und es war offensichtlich, was mit Intellisense zu tun war. Ich würde dafür stimmen, mich für die vollständig verwaltete Lösung zu entscheiden und mich so schnell wie möglich von den Problemen zu lösen. Es ist nicht einmal auf 03 Server und neuer installiert.

Jeremy
quelle
0

Ja, wir hatten das gleiche Problem und haben uns auch entschieden, kein Upgrade durchzuführen. Wir haben keine Probleme gesehen, daher können Sie die Warnungen ignorieren.

Esteban Araya
quelle
0

Wir hatten .netmail implementiert, es funktionierte am Anfang, jetzt sind Benutzername und Passwort erforderlich. Also gingen wir zurück zu Webmail, da es in Ordnung ist.

Anmut
quelle