0

I am working on ASP.NET mvc 4. I am trying to send an email using smtp client.I am using localhost right now.However, my code throws an error of "UNABLE TO CONNECT TO A REMOTE SERVER". Could anyone help me what I am doing wrong?

My code:

using System.Net.Mail;
using System.Net.Mime





  MailMessage msg = new MailMessage();
            SmtpClient client = new SmtpClient();


            try
            {
                msg.From = new MailAddress("[email protected]", "Display name");
                msg.To.Add("[email protected]");
                msg.Subject = "Password";
                msg.Body = "This is the test";
                msg.Priority = MailPriority.High;
                msg.IsBodyHtml = true;

                //the actual email and to send the picture in the image.........

              //  return "reached here";
                string str = "<html><body><h1>picture</h1></br></body></html>";
                AlternateView av = AlternateView.CreateAlternateViewFromString(str, null, MediaTypeNames.Text.Html);
              //  LinkedResource lr = new LinkedResource("C:/RANJAN'S/PROJECTS/Darn/Darn_3/darnCoupon/darnCoupon/Images/Carousel/carousel_1.jpg", MediaTypeNames.Image.Jpeg);
              //  lr.ContentId = "image1";
              //  av.LinkedResources.Add(lr);
                msg.AlternateViews.Add(av);



                client.Host = "smtp.gmail.com";
                client.Port = 587;

                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.Credentials = new System.Net.NetworkCredential("[email protected]", "Password");
                client.UseDefaultCredentials = false;
                client.EnableSsl = true;

                client.Send(msg);

                return "reached here toooooooo";

              //  return msg.ToString();

            }
            catch (Exception ex)
            {

                return ex.InnerException.Message;

            }

            return "nothing happpened";


        }

My web.COnfig






<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=darnCoupon_db;MultipleActiveResultSets=True ;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\darnCoupon_db.mdf" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880" />
    </authentication>
    <pages>
      <namespaces>
        <add namespace="System.Web.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages" />
      </namespaces>
    </pages>
  </system.web>


  <system.net>
    <mailSettings>
      <smtp deliveryMethod="Network" from="[email protected]">
        <network defaultCredentials="true" host="smtp.gmail.com" port="587" userName="[email protected]" password="Password"/>

      </smtp>
    </mailSettings>  
  </system.net>




  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
  </system.webServer>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>
</configuration>
4
  • 6
    You should change your Gmail password, right now. Commented Jul 11, 2013 at 19:59
  • You may have a firewall in your way. Commented Jul 11, 2013 at 20:00
  • You still need to change your password. stackoverflow.com/posts/17602292/revisions Commented Jul 12, 2013 at 14:01
  • I realized it immediately after I posted it, and thank you, I have changed my password and email both. Commented Jul 13, 2013 at 4:31

2 Answers 2

1

I suggest you download and install Smtp4Dev from here (http://smtp4dev.codeplex.com/). Once you install this you will be able to tell if the mail was sent regardless of you smtp server settings. Once you establish that the source of the problem is not your code then you can see what's going on with your smtp server settings.

Sign up to request clarification or add additional context in comments.

1 Comment

Thank you..I decided to go with Mvc Mailer instead and it works great. I appreciate everyone's help. Thank you again.
0

Try this code. I hope it will work as you expect.

SmtpClient client = new SmtpClient();
            MailMessage msg = new MailMessage();                
            MailAddress to = new MailAddress("client email address");
            MailAddress from = new MailAddress("Your Email Address");
            msg.IsBodyHtml = true;
            msg.Subject = "Mail Title";
            msg.To.Add(to);
            msg.Body = "Your message";
            msg.From = from;
            client.Send(msg);

In web.config file under configuration section, you need to write the credential information of your mail account

    <system.net>
    <mailSettings>
      <smtp deliveryMethod="Network">
        <network host="smtp.gmail.com" port="587" userName="your email address" password="your password" defaultCredentials="false" enableSsl="true" />
      </smtp>
    </mailSettings>
  </system.net>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.