Невозможно отправить письмо через .Net core 2.0 - PullRequest
0 голосов
/ 11 мая 2018

Я написал следующее и работал отлично.Но после того, как обновления перестают работать, я уже настроил почтовый сервер, у меня не было никаких проблем.

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 для установки пакета.

1 Ответ

0 голосов
/ 11 мая 2018

Метод SendMailAsync - это Async в вашем приложении Send Mail в вашем приложении.

Каковы оптимальные методы использования SmtpClient, SendAsync и Dispose в .NET 4.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...