2017-01-23 2 views
0

Ich benutzte SendGrid früher, um E-Mails auf meinem ASP.net Core-Projekt zu senden, und es war sehr schnell, aber teuer wegen der hohen Belastung. Ich habe derzeit ein Office 365-Konto und ich kann den SMTP-Server verwenden, also entschied ich mich, MailKit zu verwenden. Die E-Mail erfolgreich gesendet wird, aber es dauert eine sehr lange Zeit, obwohl ich den Anruf bin warten ... Im Folgenden ist der Code, den ich verwenden:MailKit sehr langsam zu senden SMTP

public async Task SendEmailAsync(string email, string subject, string message) 
    { 
     var emailMessage = new MimeMessage(); 
     emailMessage.From.Add(new MailboxAddress("name", "[email protected]")); 
     emailMessage.To.Add(new MailboxAddress(email)); 
     emailMessage.Subject = subject; 
     emailMessage.Body = new TextPart("Html") { Text = message }; 

     using (var client = new SmtpClient()) 
     { 
      await client.ConnectAsync("smtp.office365.com", 587, SecureSocketOptions.Auto).ConfigureAwait(false); 
      await client.AuthenticateAsync("*******", "******"); 
      await client.SendAsync(emailMessage).ConfigureAwait(false); 
      await client.DisconnectAsync(true).ConfigureAwait(false); 
     } 
    } 

ich den Vorschlag in dieser Frage gesehen haben: MailKit SMTP slow when sending messages und Ich habe es angewendet, aber das Problem passiert immer noch.

Danke

+0

Sind Sie sicher, dass der Server nicht langsam ist? – jstedfast

+0

@jstedfast Bitte sehen Sie meine Antwort unten, vielen Dank für Ihre Sorgfalt. – Techy

+0

Wenn Sie Office365 verwenden, sollten Sie die Microsoft Graph-API verwenden. Es soll das machen ... das funktioniert nur, wenn Sie Ihren Office365-Account für die Authentifizierung verwenden. Überprüfen Sie graph.microsoft.io für die Dokumente. –

Antwort

0

ich Microsoft kontaktiert haben und mir wurde gesagt, dass sie 365 Probleme mit Office konfrontiert werden und wurde von vielen berichtet. Dies ist kein Server-Ausfall-Problem, ich wünschte, ich hätte das vor der Anmeldung erfahren!