簡體   English   中英

System.Net.Mail無法加載或初始化請求的服務提供者

[英]System.Net.Mail The requested service provider could not be loaded or initialized

嘗試使用System.Net.Mail.SmtpClient發送電子郵件時出現以下異常:

System.Net.Mail.SmtpException: The SMTP host was not found.

內部例外:

System.Net.Sockets.SocketException: The requested service provider could not be loaded or initialized

我的電子郵件發送代碼非常簡單:

private async Task SendEmail(string to, string subject, string email)
{
    MailMessage msg = null;
    SmtpClient smtp = null;
    try
    {
        var set = Settings.Default;
        msg = new MailMessage(set.EmailFrom, to, subject, email);
        smtp = new SmtpClient(set.SMTPServer, set.Port)
        {
            EnableSsl = true,
            Credentials = new NetworkCredential(set.EmailUsername, set.EmailPassword),
            Timeout = 20000
        };
        await smtp.SendMailAsync(msg);
    }
    catch (Exception e)
    {
        _log.Error("Error on sending email", e);
        throw;
    }
    finally
    {
        if (msg != null) msg.Dispose();
        if (smtp != null) smtp.Dispose();
    }
}

並非每次都會發生此錯誤,而是經常發生。 我試圖用Google搜索它,但沒有發現任何有用的東西。 出現此錯誤時,互聯網連接似乎穩定。

任何想法為什么會發生這種情況?

很抱歉沒有發布此評論,我沒有足夠的代表。

我使用與該實現非常相似的實現來運行一個過程,但是我也遇到了同樣的事情。 嘗試減少SMTP超時,如果有太多請求尚未釋放其現有連接,則新連接將被拒絕。 這對我的具體實施有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM