2013-07-11 2 views
0

ASP.NET MVC에서 작업 중입니다. 4. smtp 클라이언트를 사용하여 전자 메일을 보내려고합니다. 지금 localhost를 사용하고 있습니다. 그러나 코드에서 "연결할 수 없습니다. 원격 서버에 ". 누군가 내가 잘못하고있는 것을 도울 수 있습니까?Asp.net mvc 4 전자 메일 보내기

내 코드 :

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> 
+6

메일 계정의 자격 증명 정보를 작성해야합니다. – SLaks

+0

도중에 방화벽이있을 수 있습니다. – SLaks

+0

여전히 암호를 변경해야합니다. http://stackoverflow.com/posts/17602292/revisions – SLaks

답변

1

난 당신이 다운로드하고 여기 (http://smtp4dev.codeplex.com/)에서 Smtp4Dev를 설치하는 것이 좋습니다. 이것을 설치하면 smtp 서버 설정에 관계없이 메일이 전송되었는지 여부를 알 수 있습니다. 일단 문제의 근원이 당신의 코드가 아니라면 SMTP 서버 설정에서 어떤 일이 벌어지고 있는지 알 수 있습니다.

+0

고맙습니다. 나는 Mvc Mailer를 대신 사용하기로 결정했습니다. 모두의 도움에 감사드립니다. 다시 감사합니다. – user2569653

0

이 코드를 사용해보십시오. 기대했던대로 작동하길 바랍니다.

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); 

구성 섹션에서 web.config 파일에서, 당신은 당신이 당신의 Gmail 비밀번호, _right보기 _을 변경해야합니다

<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>