Я написал следующее и работал отлично.Но после того, как обновления перестают работать, я уже настроил почтовый сервер, у меня не было никаких проблем.
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using SportsStore.Data;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Security.Claims;
using System.Threading.Tasks;
namespace SportsStore.Helper
{
public class Email: IEmail
{
private SmtpClient Client;
private string MessageBody, Subject, UserEmail;
private MailAddress MailFrom, MailTo;
private MailMessage Message;
public Email(IServiceProvider service)
{
this.Client = new SmtpClient("localhost");
this.Client.Port = 25;
this.Client.UseDefaultCredentials = false;
this.Client.Credentials = new NetworkCredential("postmaster", "xxxxxxx!");
this.MailFrom = new MailAddress("xxxxx.xxxxx@yandex.com");
this.UserEmail = service.GetRequiredService<IHttpContextAccessor>().HttpContext.User.Identity.Name;
this.MailTo = new MailAddress(UserEmail);
}
public void SetMessageBody(string orderName)
{
MessageBody = String.Format("The order with id {0} has been placed and is ready to ship", orderName);
}
public string GetMessageBody()
{
return MessageBody;
}
public void SetSubject()
{
Subject = "Order Details";
}
public string GetSubject()
{
return Subject;
}
public bool SendMessageAsync()
{
this.Message = new MailMessage(this.MailFrom.ToString(), this.MailTo.ToString(), this.GetSubject(), this.GetMessageBody());
if (this.Client.SendMailAsync(this.Message).IsCompletedSuccessfully)
{
return true;
}
return false;
}
}
}
Client.SendEmailAsync () теперь возвращает false.Любое предложение? Пожалуйста, дайте быстрый ответ, или я должен перейти к пакетам nuget для установки пакета.