使用 Serilog 记录到电子邮件接收器

Evg*_*eni 6 c# serilog asp.net-core

我有一个 aspnet core 应用程序,我正在尝试配置 serilog 来向我发送电子邮件,但没有成功。

我有这样的配置:

  Log.Logger = new LoggerConfiguration()
                 .MinimumLevel.Information()
                .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
                .Enrich.FromLogContext()
                .WriteTo.File("1.log", LogEventLevel.Information, fileSizeLimitBytes: 10_000_000, rollOnFileSizeLimit: true, shared: true)
                .WriteTo.Email(new EmailConnectionInfo
                {
                    FromEmail = "xxx@gmail.com",
                    ToEmail = "yyy@gmail.com",
                    MailServer = "smtp.gmail.com",
                    NetworkCredentials = new NetworkCredential
                    {
                        UserName = "user",
                        Password = "pass"
                    },
                    EnableSsl = true,
                    Port = 587,
                    EmailSubject = "Error in app"
                }, restrictedToMinimumLevel: LogEventLevel.Error, batchPostingLimit: 1)
                .CreateLogger();
Run Code Online (Sandbox Code Playgroud)

没有电子邮件。它写入文件,因此记录器处于活动状态。我缺少什么吗?

cca*_*sob -1

 {
        FromEmail = "xxx@gmail.com",
        ToEmail = "yyy@gmail.com",
        MailServer = "smtp.gmail.com",
        NetworkCredentials = new NetworkCredential
        {
            UserName = "xxx@gmail.com",
            Password = "zzz"
        },
        EnableSsl = true,
        Port = 465,
        EmailSubject = "Error in app"
    }
Run Code Online (Sandbox Code Playgroud)

这对我有用。