How do I get the SMTP email address from web.config?

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I've tried:
MailSettingsSectionGroup mailConfig =
WebConfigurationManager.GetSection("system.net/mailSettings") as
MailSettingsSectionGroup;

and:
Configuration configurationFile =
WebConfigurationManager.OpenWebConfiguration("/Web.Config");
MailSettingsSectionGroup mailConfig;
if (configurationFile != null)
mailConfig = configurationFile.GetSectionGroup("system.net/mailSettings")
as MailSettingsSectionGroup;

The first method returns null and the second returns an object but it does
not have the host or from properties set.

--
thanks - dave
david_at_windward_dot_net
http://www.windwardreports.com

Cubicle Wars - http://www.windwardreports.com/film.htm
 
Hi,
First write below code in web.config </system.web> and before
</configuration>:
<system.net >
<mailSettings >
<smtp from="(e-mail address removed)">
<network host="mail.myhost.net" userName="xxxxx" password="xxxx"/>
</smtp>
</mailSettings>
</system.net >

Then try this code:
Configuration configurationFile =
WebConfigurationManager.OpenWebConfiguration("~\\Web.config");
MailSettingsSectionGroup mailSettings =
configurationFile.GetSectionGroup("system.net/mailSettings") as
MailSettingsSectionGroup;
if (mailSettings != null)
{
int port = mailSettings.Smtp.Network.Port;
string host = mailSettings.Smtp.Network.Host;
string password = mailSettings.Smtp.Network.Password;
string username = mailSettings.Smtp.Network.UserName;

lblHost.Text = host;
lblUserName.Text = username;
lblPassword.Text = password;
}
Also include following namespaces:
using System.Configuration;
using System.Web.Configuration;
using System.Net.Configuration;
 
Back
Top