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
Sind Sie sicher, dass der Server nicht langsam ist? – jstedfast
@jstedfast Bitte sehen Sie meine Antwort unten, vielen Dank für Ihre Sorgfalt. – Techy
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. –