이 튜토리얼을 사용하여 사용자에게 전자 메일 확인을 등록하려고하지만 emailservice
클래스를 찾을 수 없습니다.EmailService 클래스를 찾을 수 없음
내가 아이덴티티 2.2 MVC (5)를 사용하고 있습니다.
이 튜토리얼을 사용하여 사용자에게 전자 메일 확인을 등록하려고하지만 emailservice
클래스를 찾을 수 없습니다.EmailService 클래스를 찾을 수 없음
내가 아이덴티티 2.2 MVC (5)를 사용하고 있습니다.
지금까지 내가 아는 한, 일반적으로 EmailService
당신은 이메일을 보낼 SmtpClient
클래스를 사용하는 등 이러한 .NET 클래스가 없습니다 :
SmtpClient client = new SmtpClient("server.address.com");
MailAddress from = new MailAddress(fromAddress, fromName);
MailMessage msg = new MailMessage();
msg.From = from;
foreach(string addr in to)
msg.To.Add(addr);
msg.Body = content;
msg.Subject = subject;
client.Send(msg);
추가 사항 : [IIdentityMessageService] (https://msdn.microsoft.com/en-us/library/microsoft.aspnet.identity.iidentitymessageservice (v = vs.108) .aspx) 인터페이스를 구현하고 ** SendAsync ** 메소드에 @pquest하십시오. 수업을 등록하면 이메일을 보낼 수 있습니다. –
감사하지만 난 이미 내가 만든
해결책을 찾기 클래스 emailservice하고
이
userManager.EmailServ처럼 usermanager에서 이메일을 선정 ice = 새 EmailService();
나는 동일한 질문을 가지고 다음과 같은 해결책을 사용했습니다. 첫째, 프로젝트라는 서비스에서 새 폴더를 생성하고 튜토리얼에서 다음 코드를 사용하여 새로운 클래스를 만들 : 다음
namespace YourProject.Services
{
public class EmailService : IIdentityMessageService
{
public async Task SendAsync(IdentityMessage message)
{
await configSendGridasync(message);
}
// Use NuGet to install SendGrid (Basic C# client lib)
private async Task configSendGridasync(IdentityMessage message)
{
var myMessage = new SendGridMessage();
myMessage.AddTo(message.Destination);
myMessage.From = new System.Net.Mail.MailAddress("[email protected]", "Customer Service");
myMessage.Subject = message.Subject;
myMessage.Text = message.Body;
myMessage.Html = message.Body;
var credentials = new NetworkCredential(
ConfigurationManager.AppSettings["SendGridUsername"],
ConfigurationManager.AppSettings["SendGridPassword"]
);
// Create a Web transport for sending email.
var transportWeb = new Web(credentials);
// Send the email.
if (transportWeb != null)
{
await transportWeb.DeliverAsync(myMessage);
}
else
{
Trace.TraceError("Failed to create Web transport.");
await Task.FromResult(0);
}
}
}
}
, 나는에 내 컨트롤러에서 UserManager 개체의 EmailService 속성을 설정 한 일 EmailService 클래스의 새 인스턴스는 (그것에 대해 죄송 그것을보고 오른쪽 끝으로 스크롤) :
namespace YourProject.Controllers
{
public class UserManagementController : Controller
{
private UserManager<ApplicationUser> UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())){EmailService = new Services.EmailService()};
// GET: UserManagement
을 그리고, 그것은 보내드립니다 당신이
UserManager.SendEmailAsync(user.Id, subject, body);
를 호출 할 때 위의 EmailService 클래스에 구성된대로 SendGrid를 사용하여 전자 메일을 보냅니다.
바로 그 페이지에는'EmailService' 구현이 있습니다. 그걸 써. – trailmax