带身份验证的 FluentEmail smtp - 如何配置?

Blo*_*ter 2 c# smtp .net-core

在 Core 2.2 中使用 FluentEmail 时,我找不到配置安全/经过身份验证的 smtp 的方法。

我已经遵循了这个https://lukencode.com/2018/07/01/send-email-in-dotnet-core-with- Fluent-email/ ,这一切都被理解了,我的代码在哪里 - 没问题。

我的 smtp 需要身份验证,如果没有身份验证,我无法从我的应用程序发送电子邮件。

我将如何添加身份验证详细信息,例如用户名和密码?

有没有人设法解决这个问题并能够提供建议?谢谢。

小智 7

FluentEmail 只是集成 System.Net.Mail 库的外观。函数 AddSmtpServer() 具有重载,包括传递标准 SmtpClient 的可能性。您可以简单地构造原始 SmtpClient 并将其传递给 FluentEmail。

var client = new SmtpClient();
client.Credentials = new NetworkCredential("my_user", "my_password");
client.Host = "my_server";
client.Port = 25;

services
    .AddFluentEmail("defaultsender@test.test")              
    .AddSmtpSender(client);
Run Code Online (Sandbox Code Playgroud)

SmtpClient 类在 .Net Core 2.2 中被标记为已过时,并且 Microsoft 推荐了另一种解决方案...请参阅下文是否更合适。

“SmtpClient 及其网络类型设计不佳,我们强烈建议您使用https://github.com/jstedfast/MailKithttps://github.com/jstedfast/MimeKit代替”