About: System.Web.Mail (SWM)

API Type:  SMTP Sender
API Interface:  .NET Framework Namespace Classes.

Business Logic: Sending mail via SMTP.

Language Support: .NET Languages only.

Direct Property Access:  N/A.

Product Versions: All versions of .NET Framework (as of 3.5).

 

Summary:

The System.Web.Mail namespace was the original email messaging class in the .NET Framework.  It is a simple wrapper around CDOSYS.  The functionality availabe in SWM is actually a subset of that that is available in CDOSYS.  SWM can send email messages via SMTP through a local pickup directory or via port to an remote SMTP server.

Some Points Of Interest:

  • SWM is managed wrapper around CDOSYS - it only provides a subset of the functionality to send messages via SMTP, it does not do the same MIME parsing that CDOSYS can do.
  • SWM is replaced in the .NET Framework 2.0 by the System.Net.Mail namespace.
  • For whatever reason, a common mistake made when using SWM's SmtpMail class is to set the the SmtpServer property using the Insert(string) method off the SmtpServer property (which is a string).  The Insert method doesn't set the SmtpServer property so it remains empty - what does is it this changes the send method from port to local pickup directory. 
  • Debugging SWM issues is very systematic, there are only so many ways to send mail using SWM. 
  • Problems usually arise from changes to the configuraiton of the SMTP server - either added authentication requirements, server names, or open availability.  
  • Consider using System.Net.Mail or CDOSYS if you run into issues with System.Web.Mail since those are still supported and have broader capabilities.

Backgrounders:

System.Web.Mail Namespace
https://msdn.microsoft.com/en-us/library/System.Web.Mail(v=vs.110).aspx

MailMessage Class
https://msdn.microsoft.com/en-us/library/system.web.mail.mailmessage(v=vs.110).aspx

How to send e-mail programmatically by using System.Web.Mail in Visual C# 2005 or in Visual C# .NET
https://support.microsoft.com/en-us/kb/310273/en-us

Migrating from System.Web.Mail to System.Net.Mail
https://weblogs.asp.net/dfindley/Migrating-from-System.Web.Mail-to-System.Net.Mail

Also see:

About: SMTP Sending APIs
https://blogs.msdn.com/b/webdav_101/archive/2015/05/28/about-smtp-sending-apis.aspx

About: Messaging APIs
https://blogs.msdn.com/b/webdav_101/archive/2015/08/07/about-messaging-apis.aspx