Cannot use smtpclient to send mail with localhost iis site

I have an asp.net mvc app running on a local iis website that is failing to send mail using SmtpClient from System.Net.Mail. I am trying to send a mail to my hotmail address and I get a socket exception. Any idea what the problem might be?

using(var message = new MailMessage())
            {
                message.From = new MailAddress(AdminEmail);
                message.To.Add(new MailAddress(to));
                message.Subject = subject;
                message.Body = body;
                message.IsBodyHtml = false;

                var mailClient = new SmtpClient();
                mailClient.Send(message);
            }

Here is the exception:

{System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:25
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
   at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)}

I think the default app pool does not have access to intepub\wwwroot. Here is the error that I get when trying to test the connection:

The server is configured to use pass-through authentication with a built-in account to access the specified physical path. However, IIS Manager cannot verify whether the built-in account has access. Make sure that the application pool identity has Read access to the physical path. If this server is joined to a domain, and the application pool identity is NetworkService or LocalSystem, verify that \$ has Read access to the physical path. Then test these settings again.

Answers


Based on your answers to my comments above Joe, you don't have SMTP enabled on your local machine. Vista does not come with SMTP.

As such, you'll either have to install a 3rd party SMTP app that will run on Vista, or use another app to send via, in this case, your Hotmail account may allow you to send outgoing via it. I don't use Hotmail so don't know if it will or not but it should be something like smtp.hotmail.com and your credentials. My primary account is a gmail account, so I can use it via smtp.gmail.com and of course, my credentials.


Need Your Help

Visual Studio Setup Project conditional if File Exists

visual-studio-2008 setup-project setup-deployment

I have a Setup/Deployment Project for my Application and it outputs certain files (*.dll, *.dat) to the Application Folder.

How to establish validation dependency between two viewmodels?

asp.net-mvc validation data-annotations

I swear to god, that I had seen something like (below) on one of the MSDN Article but I cant find this property attribute documentation anywhere.

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.