Solved

System.Web.Mail class - please explain...

Posted on 2007-03-28
4
177 Views
Last Modified: 2010-04-16
Ok i am having a few issues with some STMP code we have in production. I have narrowed these issues down to (among other things) McAfee...

Anywho..... that is not what i am posting about...

As i am testing, when i disable McAfee and directly connect to the exchange server like so:

--------------------------------------------------------------------------------------------------------------------------
public static void SendMail(string from, string recipients, string subject, string body)
{
MailMessage mail = new MailMessage();
mail.To = recipients;
mail.From = from;
mail.Subject = subject;
mail.Body = body;
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "username");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "password"); SmtpMail.SmtpServer = "XX.XX.XX.XXX";
SmtpMail.Send(mail);
}
--------------------------------------------------------------------------------------------------------------------------

... my email gets set and all is good...

My issue is that most of the mail code in production do NOT use this class and instead (i guess) uses default setting. Here is the code in production:

--------------------------------------------------------------------------------------------------------------------------
MailMessage mail = new MailMessage();
mail.To = "you@you.com";
mail.From = "me@me.com";
mail.Subject = "Mail Subject"
mail.Body = "Mail body"
SmtpMail.Send(mail);
--------------------------------------------------------------------------------------------------------------------------

This i assume uses the default SMTp server setup on the local web server that it is running from... Right?

If that is the case then why is it that when i stop the IIS SMTP server this code still sends out mail... What SMTP server is it using to send the mail if the local is disabled?

To clarify, what i need to knwo is what is the default for the mail class when no SMTP server is specified.

:: Nugs ::
0
Comment
Question by:Nugs
  • 3
4 Comments
 
LVL 5

Accepted Solution

by:
volking earned 500 total points
ID: 18810769
I believe Active Directory keeps an SMTP routing stack. If the top server dies (or goes away) Active directory will return the next SMTP Server in the stack. Actually, I'm not sure how this works, but you may want to begin looking at Active Directory.
0
 
LVL 2

Author Comment

by:Nugs
ID: 18810821
This makes sense as i i have old legacy code on the webserver that is NOT specifying a SMTP server and has (supposibly) worked in the past... What is boggling me is that there is no local SMTP server setup on the web server - by design. I can not see how this old code ever worked without one there or directly specifying the Exchange server in the code.

:: Nugs ::
0
 
LVL 2

Author Comment

by:Nugs
ID: 18810847
Oh i was just informed that the web server is not even on the same subnet as our network (it has an external IP obviousley) so it can not be finding the Esxchange server via AD...

:: Nugs ::
0
 
LVL 2

Author Comment

by:Nugs
ID: 18812415
It was using my localhost SMTp, apparently stoping the SMTP server in IIS does not stop the SMTP service. Stopping the service stoped outbound mail.

Interesting about the AD stuff thought, thanks for your input.

:: Nugs ::
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…
A short film showing how OnPage and Connectwise integration works.

932 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now