2016-11-18 10 views
1

저는 Asp.net 웹 응용 프로그램을 개발 중입니다. 내 응용 프로그램에서 사용자 전자 메일 확인 및 암호 재설정 기능을 설정하고 있습니다. 나는 신원 체계에서 건축 된 Asp.net를 사용하고있다. 이러한 기능은 Visual Studio에 언급 된대로 https://www.asp.net/identity/overview/features-api/account-confirmation-and-password-recovery-with-aspnet-identity 링크를 사용하여 활성화 할 수 있습니다.ASP.NET Identity UserManager.SendEmailAsync에 대한 보낸 사람 전자 메일 자격 증명을 구성하는 방법?

하지만이 링크는 깨졌습니다. - https://azure.microsoft.com/en-us/gallery/store/sendgrid/sendgrid-azure/. 하지만 괜찮아, 난 asp.net 신분 확인 시스템에서 단 한 가지를 알고 싶다. 이메일을 보내는 중입니다. Visual Studio의 주석 처리 된 줄에 따르면 아래에서 이와 같이 암호 재설정 전자 메일을 보낼 수 있습니다.

await UserManager.SendEmailAsync(user.Id, "Reset Password", "Please reset your password by clicking <a href=\"" + callbackUrl + "\">here</a>"); 

그 줄은 간단하고 읽기 쉽습니다. 하지만 문제는 보낸 사람 전자 메일 자격 증명을 구성 할 수있는 곳입니다. 이메일을 보내기 위해 어떤 설정을 사용합니까? 발신자 이메일을 어떻게 변경합니까? Azure 링크가 깨져서 링크를 따라갈 수 없습니다. 어디서 설정하고 변경할 수 있습니까?

나는 Web.config의

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

이 설정을 추가하려하지만 지금은 이메일을 보낼.

+0

다음은 사용자의 세부적인 답변입니다. https://stackoverflow.com/a/45789677/3835843 – Arif

답변

1

마지막으로 해결책을 찾았습니다.

나는 그 때 나는이

public class EmailService : IIdentityMessageService 
    { 
     public Task SendAsync(IdentityMessage message) 
     { 
      // Plug in your email service here to send an email. 
      SmtpClient client = new SmtpClient(); 
      return client.SendMailAsync("email from web.config here", 
             message.Destination, 
             message.Subject, 
             message.Body); 

     } 
    } 

에 App_Start 폴더에 IdentityConfig.cs에서

public class EmailService : IIdentityMessageService 
    { 
     public Task SendAsync(IdentityMessage message) 
     { 
      // Plug in your email service here to send an email. 

      return Task.FromResult(0); 
     } 
    } 

업데이트이

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

같은 Web.config의에서이 이메일 설정을 추가 전자 메일을 보내면 web.config의 설정이 자동으로 사용됩니다.

+1

비동기 방식을 비동기 적으로 사용하고 있지 않습니다. – Sinjai