Initial commit
This commit is contained in:
commit
3808f2247a
1088 changed files with 12591 additions and 0 deletions
BIN
.vs/MailPrint/DesignTimeBuild/.dtbcache.v2
Normal file
BIN
.vs/MailPrint/DesignTimeBuild/.dtbcache.v2
Normal file
Binary file not shown.
Binary file not shown.
BIN
.vs/MailPrint/v18/.futdcache.v2
Normal file
BIN
.vs/MailPrint/v18/.futdcache.v2
Normal file
Binary file not shown.
BIN
.vs/MailPrint/v18/.suo
Normal file
BIN
.vs/MailPrint/v18/.suo
Normal file
Binary file not shown.
23
.vs/MailPrint/v18/DocumentLayout.json
Normal file
23
.vs/MailPrint/v18/DocumentLayout.json
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"Version": 1,
|
||||||
|
"WorkspaceRootPath": "Z:\\Programmierung\\MailPrint\\",
|
||||||
|
"Documents": [],
|
||||||
|
"DocumentGroupContainers": [
|
||||||
|
{
|
||||||
|
"Orientation": 0,
|
||||||
|
"VerticalTabListWidth": 256,
|
||||||
|
"DocumentGroups": [
|
||||||
|
{
|
||||||
|
"DockedWidth": 200,
|
||||||
|
"SelectedChildIndex": -1,
|
||||||
|
"Children": [
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{cce594b6-0c39-4442-ba28-10c64ac7e89f}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
.vs/ProjectEvaluation/mailprint.metadata.v10.bin
Normal file
BIN
.vs/ProjectEvaluation/mailprint.metadata.v10.bin
Normal file
Binary file not shown.
BIN
.vs/ProjectEvaluation/mailprint.projects.v10.bin
Normal file
BIN
.vs/ProjectEvaluation/mailprint.projects.v10.bin
Normal file
Binary file not shown.
BIN
.vs/ProjectEvaluation/mailprint.strings.v10.bin
Normal file
BIN
.vs/ProjectEvaluation/mailprint.strings.v10.bin
Normal file
Binary file not shown.
25
MailPrint.sln
Normal file
25
MailPrint.sln
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.0.31903.59
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MailPrint", "MailPrint\MailPrint.csproj", "{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MailPrintConfig", "MailPrintConfig\MailPrintConfig.csproj", "{B2C3D4E5-F6A7-8901-BCDE-F12345678901}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
51
MailPrint/ApiKeyMiddleware.cs
Normal file
51
MailPrint/ApiKeyMiddleware.cs
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
using Microsoft.Extensions.Options;
|
||||||
|
|
||||||
|
namespace MailPrint;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Schützt alle /api/* Routen mit einem statischen API-Key.
|
||||||
|
/// Header: X-Api-Key: <key>
|
||||||
|
/// Wenn kein Key konfiguriert ist, wird die Middleware übersprungen.
|
||||||
|
/// </summary>
|
||||||
|
public class ApiKeyMiddleware
|
||||||
|
{
|
||||||
|
private const string HeaderName = "X-Api-Key";
|
||||||
|
private readonly RequestDelegate _next;
|
||||||
|
private readonly string _apiKey;
|
||||||
|
private readonly ILogger<ApiKeyMiddleware> _logger;
|
||||||
|
|
||||||
|
public ApiKeyMiddleware(RequestDelegate next, IOptions<MailPrintOptions> options, ILogger<ApiKeyMiddleware> logger)
|
||||||
|
{
|
||||||
|
_next = next;
|
||||||
|
_apiKey = options.Value.WebApi.ApiKey;
|
||||||
|
_logger = logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task InvokeAsync(HttpContext context)
|
||||||
|
{
|
||||||
|
// Kein API-Key konfiguriert → durchlassen (Entwicklung / lokales Netz)
|
||||||
|
if (string.IsNullOrEmpty(_apiKey))
|
||||||
|
{
|
||||||
|
await _next(context);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Swagger UI immer erlauben
|
||||||
|
if (context.Request.Path.StartsWithSegments("/swagger"))
|
||||||
|
{
|
||||||
|
await _next(context);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!context.Request.Headers.TryGetValue(HeaderName, out var provided) ||
|
||||||
|
provided != _apiKey)
|
||||||
|
{
|
||||||
|
_logger.LogWarning("Ungültiger API-Key von {IP}", context.Connection.RemoteIpAddress);
|
||||||
|
context.Response.StatusCode = StatusCodes.Status401Unauthorized;
|
||||||
|
await context.Response.WriteAsJsonAsync(new { error = "Ungültiger oder fehlender API-Key." });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await _next(context);
|
||||||
|
}
|
||||||
|
}
|
||||||
131
MailPrint/Controllers/PrintController.cs
Normal file
131
MailPrint/Controllers/PrintController.cs
Normal file
|
|
@ -0,0 +1,131 @@
|
||||||
|
using MailPrint.Services;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Microsoft.Extensions.Options;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace MailPrint.Controllers;
|
||||||
|
|
||||||
|
[ApiController]
|
||||||
|
[Route("api/[controller]")]
|
||||||
|
public class PrintController : ControllerBase
|
||||||
|
{
|
||||||
|
private readonly PrintService _printService;
|
||||||
|
private readonly MailPrintOptions _options;
|
||||||
|
private readonly ILogger<PrintController> _logger;
|
||||||
|
|
||||||
|
public PrintController(PrintService printService, IOptions<MailPrintOptions> options, ILogger<PrintController> logger)
|
||||||
|
{
|
||||||
|
_printService = printService;
|
||||||
|
_options = options.Value;
|
||||||
|
_logger = logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PDF hochladen und drucken.
|
||||||
|
/// POST /api/print/upload
|
||||||
|
/// Form-Data: file, printer (opt), paperSource (opt), copies (opt)
|
||||||
|
/// </summary>
|
||||||
|
[HttpPost("upload")]
|
||||||
|
[Consumes("multipart/form-data")]
|
||||||
|
public async Task<IActionResult> PrintUpload(
|
||||||
|
IFormFile file,
|
||||||
|
[FromForm] string? printer = null,
|
||||||
|
[FromForm] string? paperSource = null,
|
||||||
|
[FromForm] int copies = 0)
|
||||||
|
{
|
||||||
|
if (file is null || file.Length == 0)
|
||||||
|
return BadRequest(new { error = "Keine Datei." });
|
||||||
|
|
||||||
|
var ext = Path.GetExtension(file.FileName).ToLower();
|
||||||
|
if (!_options.AllowedExtensions.Contains(ext))
|
||||||
|
return BadRequest(new { error = $"Dateityp '{ext}' nicht erlaubt." });
|
||||||
|
|
||||||
|
Directory.CreateDirectory(_options.TempDirectory);
|
||||||
|
var tempFile = Path.Combine(_options.TempDirectory, $"{Guid.NewGuid()}{ext}");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await using (var fs = System.IO.File.Create(tempFile))
|
||||||
|
await file.CopyToAsync(fs);
|
||||||
|
|
||||||
|
_printService.PrintPdf(new PrintJob
|
||||||
|
{
|
||||||
|
FilePath = tempFile,
|
||||||
|
MailSubject = file.FileName,
|
||||||
|
MailFrom = "WebAPI",
|
||||||
|
PrinterOverride = printer,
|
||||||
|
PaperSourceOverride = paperSource,
|
||||||
|
CopiesOverride = copies > 0 ? copies : null
|
||||||
|
});
|
||||||
|
|
||||||
|
return Ok(new { success = true, file = file.FileName, printer, paperSource });
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "WebAPI Druckfehler: {File}", file.FileName);
|
||||||
|
return StatusCode(500, new { error = ex.Message });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PDF per URL drucken.
|
||||||
|
/// POST /api/print/url
|
||||||
|
/// </summary>
|
||||||
|
[HttpPost("url")]
|
||||||
|
public async Task<IActionResult> PrintUrl([FromBody] PrintUrlRequest request)
|
||||||
|
{
|
||||||
|
if (!Uri.TryCreate(request.Url, UriKind.Absolute, out var uri))
|
||||||
|
return BadRequest(new { error = "Ungültige URL." });
|
||||||
|
|
||||||
|
Directory.CreateDirectory(_options.TempDirectory);
|
||||||
|
var tempFile = Path.Combine(_options.TempDirectory, $"{Guid.NewGuid()}.pdf");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using var http = new HttpClient { Timeout = TimeSpan.FromSeconds(30) };
|
||||||
|
await System.IO.File.WriteAllBytesAsync(tempFile, await http.GetByteArrayAsync(uri));
|
||||||
|
|
||||||
|
_printService.PrintPdf(new PrintJob
|
||||||
|
{
|
||||||
|
FilePath = tempFile,
|
||||||
|
MailSubject = uri.Segments.LastOrDefault() ?? "download.pdf",
|
||||||
|
MailFrom = "WebAPI/URL",
|
||||||
|
PrinterOverride = request.Printer,
|
||||||
|
PaperSourceOverride = request.PaperSource,
|
||||||
|
CopiesOverride = request.Copies > 0 ? request.Copies : null
|
||||||
|
});
|
||||||
|
|
||||||
|
return Ok(new { success = true, url = request.Url, printer = request.Printer, paperSource = request.PaperSource });
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "WebAPI URL-Druckfehler: {Url}", request.Url);
|
||||||
|
return StatusCode(500, new { error = ex.Message });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Alle Drucker mit Papierfächern.
|
||||||
|
/// GET /api/print/printers
|
||||||
|
/// </summary>
|
||||||
|
[HttpGet("printers")]
|
||||||
|
public IActionResult GetPrinters()
|
||||||
|
{
|
||||||
|
var infos = _printService.GetPrinterInfos();
|
||||||
|
var defaultPrinter = _options.PrinterProfiles.FirstOrDefault()?.PrinterName
|
||||||
|
?? infos.FirstOrDefault()?.Name;
|
||||||
|
return Ok(new { defaultPrinter, profiles = _options.PrinterProfiles, printers = infos });
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpGet("health")]
|
||||||
|
public IActionResult Health() =>
|
||||||
|
Ok(new { status = "ok", service = "MailPrint", timestamp = DateTime.UtcNow });
|
||||||
|
}
|
||||||
|
|
||||||
|
public class PrintUrlRequest
|
||||||
|
{
|
||||||
|
[Required] public string Url { get; set; } = "";
|
||||||
|
public string? Printer { get; set; }
|
||||||
|
public string? PaperSource { get; set; }
|
||||||
|
public int Copies { get; set; } = 0;
|
||||||
|
}
|
||||||
25
MailPrint/MailPrint.csproj
Normal file
25
MailPrint/MailPrint.csproj
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net10.0-windows</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<UserSecretsId>mailprint-service</UserSecretsId>
|
||||||
|
<RootNamespace>MailPrint</RootNamespace>
|
||||||
|
<AssemblyName>MailPrint</AssemblyName>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="MailKit" Version="4.7.1.1" />
|
||||||
|
<PackageReference Include="MimeKit" Version="4.7.1" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="10.0.0-preview.3.25171.5" />
|
||||||
|
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
|
||||||
|
<PackageReference Include="Serilog.Sinks.File" Version="6.0.0" />
|
||||||
|
<PackageReference Include="Serilog.Sinks.EventLog" Version="4.0.0" />
|
||||||
|
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />
|
||||||
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="7.3.1" />
|
||||||
|
<PackageReference Include="System.Drawing.Common" Version="9.0.4" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
56
MailPrint/MailPrintOptions.cs
Normal file
56
MailPrint/MailPrintOptions.cs
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
namespace MailPrint;
|
||||||
|
|
||||||
|
public class MailPrintOptions
|
||||||
|
{
|
||||||
|
public int PollIntervalSeconds { get; set; } = 60;
|
||||||
|
public string SubjectFilter { get; set; } = "";
|
||||||
|
public bool DeleteAfterPrint { get; set; } = true;
|
||||||
|
public bool MarkAsRead { get; set; } = true;
|
||||||
|
public string SumatraPath { get; set; } = "";
|
||||||
|
public string TempDirectory { get; set; } = Path.Combine(Path.GetTempPath(), "MailPrint");
|
||||||
|
public List<string> AllowedExtensions { get; set; } = new() { ".pdf" };
|
||||||
|
|
||||||
|
/// <summary>Drucker-Profile: Name → Drucker + Fach + Kopien</summary>
|
||||||
|
public List<PrinterProfile> PrinterProfiles { get; set; } = new();
|
||||||
|
|
||||||
|
/// <summary>Postfächer: jedes hat eigene Credentials + zeigt auf ein PrinterProfile</summary>
|
||||||
|
public List<MailAccount> Accounts { get; set; } = new();
|
||||||
|
|
||||||
|
/// <summary>Global – wird verwendet wenn das Profil keine eigene Liste hat.</summary>
|
||||||
|
public List<string> AllowedSenders { get; set; } = new();
|
||||||
|
public List<string> BlockedSenders { get; set; } = new();
|
||||||
|
|
||||||
|
public WebApiOptions WebApi { get; set; } = new();
|
||||||
|
}
|
||||||
|
|
||||||
|
public class PrinterProfile
|
||||||
|
{
|
||||||
|
public string Name { get; set; } = "";
|
||||||
|
public string PrinterName { get; set; } = "";
|
||||||
|
public string PaperSource { get; set; } = "";
|
||||||
|
public int Copies { get; set; } = 1;
|
||||||
|
/// <summary>Leer = globale Liste verwenden. Gesetzt = überschreibt globale Liste.</summary>
|
||||||
|
public List<string> AllowedSenders { get; set; } = new();
|
||||||
|
public List<string> BlockedSenders { get; set; } = new();
|
||||||
|
}
|
||||||
|
|
||||||
|
public class MailAccount
|
||||||
|
{
|
||||||
|
public string Name { get; set; } = "";
|
||||||
|
public string Protocol { get; set; } = "IMAP";
|
||||||
|
public string Host { get; set; } = "";
|
||||||
|
public int Port { get; set; } = 993;
|
||||||
|
public bool UseSsl { get; set; } = true;
|
||||||
|
public string Username { get; set; } = "";
|
||||||
|
public string Password { get; set; } = "";
|
||||||
|
public string Folder { get; set; } = "INBOX";
|
||||||
|
/// <summary>Name eines PrinterProfile – leer = erstes Profil</summary>
|
||||||
|
public string PrinterProfileName { get; set; } = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public class WebApiOptions
|
||||||
|
{
|
||||||
|
public int Port { get; set; } = 5100;
|
||||||
|
public bool BindAllInterfaces { get; set; } = false;
|
||||||
|
public string ApiKey { get; set; } = "";
|
||||||
|
}
|
||||||
61
MailPrint/MailPrintWorker.cs
Normal file
61
MailPrint/MailPrintWorker.cs
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
using MailPrint.Services;
|
||||||
|
using Microsoft.Extensions.Options;
|
||||||
|
|
||||||
|
namespace MailPrint;
|
||||||
|
|
||||||
|
public class MailPrintWorker : BackgroundService
|
||||||
|
{
|
||||||
|
private readonly ILogger<MailPrintWorker> _logger;
|
||||||
|
private readonly MailFetchService _mailService;
|
||||||
|
private readonly PrintService _printService;
|
||||||
|
private readonly MailPrintOptions _options;
|
||||||
|
|
||||||
|
public MailPrintWorker(ILogger<MailPrintWorker> logger, MailFetchService mailService,
|
||||||
|
PrintService printService, IOptions<MailPrintOptions> options)
|
||||||
|
{
|
||||||
|
_logger = logger;
|
||||||
|
_mailService = mailService;
|
||||||
|
_printService = printService;
|
||||||
|
_options = options.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override async Task ExecuteAsync(CancellationToken ct)
|
||||||
|
{
|
||||||
|
if (_options.Accounts.Count == 0)
|
||||||
|
{
|
||||||
|
_logger.LogWarning("Keine Postfächer konfiguriert – Mail-Polling deaktiviert.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_logger.LogInformation("{Count} Postfach/Postfächer konfiguriert, Intervall: {Interval}s",
|
||||||
|
_options.Accounts.Count, _options.PollIntervalSeconds);
|
||||||
|
|
||||||
|
// Pro Account einen eigenen Poll-Loop starten
|
||||||
|
var tasks = _options.Accounts.Select(account => PollAccountAsync(account, ct));
|
||||||
|
await Task.WhenAll(tasks);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task PollAccountAsync(MailAccount account, CancellationToken ct)
|
||||||
|
{
|
||||||
|
_logger.LogInformation("Starte Polling für [{Account}] ({Protocol}://{Host})",
|
||||||
|
account.Name, account.Protocol, account.Host);
|
||||||
|
|
||||||
|
while (!ct.IsCancellationRequested)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var jobs = await _mailService.FetchJobsForAccountAsync(account, ct);
|
||||||
|
foreach (var job in jobs)
|
||||||
|
{
|
||||||
|
if (ct.IsCancellationRequested) break;
|
||||||
|
try { _printService.PrintPdf(job); }
|
||||||
|
catch (Exception ex) { _logger.LogError(ex, "[{Account}] Druckfehler", account.Name); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (OperationCanceledException) { break; }
|
||||||
|
catch (Exception ex) { _logger.LogError(ex, "[{Account}] Fehler beim Mail-Abruf", account.Name); }
|
||||||
|
|
||||||
|
await Task.Delay(TimeSpan.FromSeconds(_options.PollIntervalSeconds), ct);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
73
MailPrint/Program.cs
Normal file
73
MailPrint/Program.cs
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
using MailPrint;
|
||||||
|
using MailPrint.Services;
|
||||||
|
using Serilog;
|
||||||
|
using Serilog.Events;
|
||||||
|
|
||||||
|
// Working directory auf EXE-Verzeichnis setzen
|
||||||
|
Directory.SetCurrentDirectory(AppContext.BaseDirectory);
|
||||||
|
|
||||||
|
Log.Logger = new LoggerConfiguration()
|
||||||
|
.MinimumLevel.Information()
|
||||||
|
.MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
|
||||||
|
.MinimumLevel.Override("Microsoft.AspNetCore", LogEventLevel.Warning)
|
||||||
|
.WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}")
|
||||||
|
.WriteTo.File(
|
||||||
|
Path.Combine(AppContext.BaseDirectory, "logs", "mailprint-.log"),
|
||||||
|
rollingInterval: RollingInterval.Day,
|
||||||
|
retainedFileCountLimit: 30)
|
||||||
|
.CreateLogger();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Log.Information("MailPrint gestartet. Beenden mit Ctrl+C.");
|
||||||
|
|
||||||
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
|
||||||
|
// Als Windows Service UND als Konsole nutzbar
|
||||||
|
builder.Host.UseWindowsService(options => options.ServiceName = "MailPrint");
|
||||||
|
|
||||||
|
builder.Host.UseSerilog();
|
||||||
|
|
||||||
|
builder.Configuration
|
||||||
|
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
|
||||||
|
.AddJsonFile($"appsettings.{builder.Environment.EnvironmentName}.json", optional: true)
|
||||||
|
.AddEnvironmentVariables();
|
||||||
|
|
||||||
|
builder.WebHost.ConfigureKestrel(kestrel =>
|
||||||
|
{
|
||||||
|
var port = builder.Configuration.GetValue<int>("MailPrint:WebApi:Port", 5100);
|
||||||
|
var bindAll = builder.Configuration.GetValue<bool>("MailPrint:WebApi:BindAllInterfaces", false);
|
||||||
|
if (bindAll)
|
||||||
|
kestrel.ListenAnyIP(port);
|
||||||
|
else
|
||||||
|
kestrel.ListenLocalhost(port);
|
||||||
|
});
|
||||||
|
|
||||||
|
builder.Services.Configure<MailPrintOptions>(builder.Configuration.GetSection("MailPrint"));
|
||||||
|
builder.Services.AddSingleton<PrintService>();
|
||||||
|
builder.Services.AddSingleton<MailFetchService>();
|
||||||
|
builder.Services.AddHostedService<MailPrintWorker>();
|
||||||
|
builder.Services.AddControllers();
|
||||||
|
builder.Services.AddEndpointsApiExplorer();
|
||||||
|
builder.Services.AddSwaggerGen(c =>
|
||||||
|
c.SwaggerDoc("v1", new() { Title = "MailPrint API", Version = "v1" }));
|
||||||
|
|
||||||
|
var app = builder.Build();
|
||||||
|
app.UseSwagger();
|
||||||
|
app.UseSwaggerUI();
|
||||||
|
app.UseMiddleware<ApiKeyMiddleware>();
|
||||||
|
app.MapControllers();
|
||||||
|
|
||||||
|
await app.RunAsync();
|
||||||
|
}
|
||||||
|
catch (Exception ex) when (ex is not OperationCanceledException)
|
||||||
|
{
|
||||||
|
Log.Fatal(ex, "Unbehandelter Fehler");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
Log.CloseAndFlush();
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
12
MailPrint/Properties/launchSettings.json
Normal file
12
MailPrint/Properties/launchSettings.json
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"profiles": {
|
||||||
|
"MailPrint": {
|
||||||
|
"commandName": "Project",
|
||||||
|
"launchBrowser": true,
|
||||||
|
"environmentVariables": {
|
||||||
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
|
},
|
||||||
|
"applicationUrl": "https://localhost:56813;http://localhost:56814"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
159
MailPrint/Services/MailFetchService.cs
Normal file
159
MailPrint/Services/MailFetchService.cs
Normal file
|
|
@ -0,0 +1,159 @@
|
||||||
|
using MailKit;
|
||||||
|
using MailKit.Net.Imap;
|
||||||
|
using MailKit.Net.Pop3;
|
||||||
|
using MailKit.Search;
|
||||||
|
using Microsoft.Extensions.Options;
|
||||||
|
using MimeKit;
|
||||||
|
|
||||||
|
namespace MailPrint.Services;
|
||||||
|
|
||||||
|
public class MailFetchService
|
||||||
|
{
|
||||||
|
private readonly ILogger<MailFetchService> _logger;
|
||||||
|
private readonly MailPrintOptions _options;
|
||||||
|
|
||||||
|
public MailFetchService(ILogger<MailFetchService> logger, IOptions<MailPrintOptions> options)
|
||||||
|
{
|
||||||
|
_logger = logger;
|
||||||
|
_options = options.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<List<PrintJob>> FetchJobsForAccountAsync(MailAccount account, CancellationToken ct)
|
||||||
|
{
|
||||||
|
return account.Protocol.ToUpper() == "POP3"
|
||||||
|
? await FetchViaPop3Async(account, ct)
|
||||||
|
: await FetchViaImapAsync(account, ct);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task<List<PrintJob>> FetchViaImapAsync(MailAccount account, CancellationToken ct)
|
||||||
|
{
|
||||||
|
var jobs = new List<PrintJob>();
|
||||||
|
using var client = new ImapClient();
|
||||||
|
await client.ConnectAsync(account.Host, account.Port, account.UseSsl, ct);
|
||||||
|
await client.AuthenticateAsync(account.Username, account.Password, ct);
|
||||||
|
|
||||||
|
var folder = await client.GetFolderAsync(account.Folder, ct);
|
||||||
|
await folder.OpenAsync(FolderAccess.ReadWrite, ct);
|
||||||
|
|
||||||
|
var uids = await folder.SearchAsync(SearchQuery.NotSeen, ct);
|
||||||
|
_logger.LogInformation("[{Account}] IMAP: {Count} ungelesene Nachrichten", account.Name, uids.Count);
|
||||||
|
|
||||||
|
foreach (var uid in uids)
|
||||||
|
{
|
||||||
|
if (ct.IsCancellationRequested) break;
|
||||||
|
var message = await folder.GetMessageAsync(uid, ct);
|
||||||
|
var extracted = ExtractJobs(message, account);
|
||||||
|
if (extracted.Count > 0)
|
||||||
|
{
|
||||||
|
jobs.AddRange(extracted);
|
||||||
|
if (_options.MarkAsRead)
|
||||||
|
await folder.AddFlagsAsync(uid, MessageFlags.Seen, true, ct);
|
||||||
|
if (_options.DeleteAfterPrint)
|
||||||
|
await folder.AddFlagsAsync(uid, MessageFlags.Deleted, true, ct);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_options.DeleteAfterPrint) await folder.ExpungeAsync(ct);
|
||||||
|
await client.DisconnectAsync(true, ct);
|
||||||
|
return jobs;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task<List<PrintJob>> FetchViaPop3Async(MailAccount account, CancellationToken ct)
|
||||||
|
{
|
||||||
|
var jobs = new List<PrintJob>();
|
||||||
|
using var client = new Pop3Client();
|
||||||
|
await client.ConnectAsync(account.Host, account.Port, account.UseSsl, ct);
|
||||||
|
await client.AuthenticateAsync(account.Username, account.Password, ct);
|
||||||
|
|
||||||
|
int count = await client.GetMessageCountAsync(ct);
|
||||||
|
_logger.LogInformation("[{Account}] POP3: {Count} Nachrichten", account.Name, count);
|
||||||
|
|
||||||
|
var toDelete = new List<int>();
|
||||||
|
for (int i = 0; i < count; i++)
|
||||||
|
{
|
||||||
|
if (ct.IsCancellationRequested) break;
|
||||||
|
var message = await client.GetMessageAsync(i, ct);
|
||||||
|
var extracted = ExtractJobs(message, account);
|
||||||
|
if (extracted.Count > 0)
|
||||||
|
{
|
||||||
|
jobs.AddRange(extracted);
|
||||||
|
if (_options.DeleteAfterPrint) toDelete.Add(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var idx in toDelete) await client.DeleteMessageAsync(idx, ct);
|
||||||
|
await client.DisconnectAsync(true, ct);
|
||||||
|
return jobs;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<PrintJob> ExtractJobs(MimeMessage message, MailAccount account)
|
||||||
|
{
|
||||||
|
var jobs = new List<PrintJob>();
|
||||||
|
|
||||||
|
// Profil für Filter-Lookup
|
||||||
|
var profile = _options.PrinterProfiles.FirstOrDefault(p =>
|
||||||
|
p.Name.Equals(account.PrinterProfileName, StringComparison.OrdinalIgnoreCase));
|
||||||
|
|
||||||
|
var from = message.From.Mailboxes.Select(m => m.Address.ToLower()).ToList();
|
||||||
|
|
||||||
|
// Whitelist: Profil-Liste hat Vorrang, Fallback global
|
||||||
|
var allowed = profile?.AllowedSenders.Count > 0
|
||||||
|
? profile.AllowedSenders
|
||||||
|
: _options.AllowedSenders;
|
||||||
|
if (allowed.Count > 0 && !from.Any(f => allowed.Any(a => a.ToLower() == f)))
|
||||||
|
{
|
||||||
|
_logger.LogDebug("[{Account}] Absender {From} nicht in Whitelist", account.Name, string.Join(",", from));
|
||||||
|
return jobs;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Blacklist: Profil-Liste hat Vorrang, Fallback global
|
||||||
|
var blocked = profile?.BlockedSenders.Count > 0
|
||||||
|
? profile.BlockedSenders
|
||||||
|
: _options.BlockedSenders;
|
||||||
|
if (blocked.Count > 0 && from.Any(f => blocked.Any(b => b.ToLower() == f)))
|
||||||
|
{
|
||||||
|
_logger.LogDebug("[{Account}] Absender {From} in Blacklist", account.Name, string.Join(",", from));
|
||||||
|
return jobs;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(_options.SubjectFilter) &&
|
||||||
|
!message.Subject.Contains(_options.SubjectFilter, StringComparison.OrdinalIgnoreCase))
|
||||||
|
return jobs;
|
||||||
|
|
||||||
|
Directory.CreateDirectory(_options.TempDirectory);
|
||||||
|
|
||||||
|
foreach (var attachment in message.Attachments.OfType<MimePart>())
|
||||||
|
{
|
||||||
|
var ext = Path.GetExtension(attachment.FileName ?? "").ToLower();
|
||||||
|
if (!_options.AllowedExtensions.Contains(ext)) continue;
|
||||||
|
|
||||||
|
var tempFile = Path.Combine(_options.TempDirectory, $"{Guid.NewGuid()}{ext}");
|
||||||
|
using (var stream = File.Create(tempFile))
|
||||||
|
attachment.Content.DecodeTo(stream);
|
||||||
|
|
||||||
|
jobs.Add(new PrintJob
|
||||||
|
{
|
||||||
|
FilePath = tempFile,
|
||||||
|
MailSubject = message.Subject,
|
||||||
|
MailFrom = message.From.ToString(),
|
||||||
|
PrinterProfileName = account.PrinterProfileName
|
||||||
|
});
|
||||||
|
|
||||||
|
_logger.LogInformation("[{Account}] Job: {File}", account.Name, tempFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
return jobs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public record PrintJob
|
||||||
|
{
|
||||||
|
public string FilePath { get; init; } = "";
|
||||||
|
public string MailSubject { get; init; } = "";
|
||||||
|
public string MailFrom { get; init; } = "";
|
||||||
|
public string PrinterProfileName { get; init; } = "";
|
||||||
|
// Direkte Overrides für WebAPI
|
||||||
|
public string? PrinterOverride { get; init; }
|
||||||
|
public string? PaperSourceOverride { get; init; }
|
||||||
|
public int? CopiesOverride { get; init; }
|
||||||
|
}
|
||||||
140
MailPrint/Services/PrintService.cs
Normal file
140
MailPrint/Services/PrintService.cs
Normal file
|
|
@ -0,0 +1,140 @@
|
||||||
|
using Microsoft.Extensions.Options;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Drawing.Printing;
|
||||||
|
|
||||||
|
namespace MailPrint.Services;
|
||||||
|
|
||||||
|
public class PrintService
|
||||||
|
{
|
||||||
|
private readonly ILogger<PrintService> _logger;
|
||||||
|
private readonly MailPrintOptions _options;
|
||||||
|
|
||||||
|
private static readonly string[] SumatraCandidates =
|
||||||
|
[
|
||||||
|
@"C:\Program Files\SumatraPDF\SumatraPDF.exe",
|
||||||
|
@"C:\Program Files (x86)\SumatraPDF\SumatraPDF.exe",
|
||||||
|
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "SumatraPDF", "SumatraPDF.exe"),
|
||||||
|
Path.Combine(AppContext.BaseDirectory, "SumatraPDF.exe"),
|
||||||
|
];
|
||||||
|
|
||||||
|
public PrintService(ILogger<PrintService> logger, IOptions<MailPrintOptions> options)
|
||||||
|
{
|
||||||
|
_logger = logger;
|
||||||
|
_options = options.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void PrintPdf(PrintJob job)
|
||||||
|
{
|
||||||
|
// Profil auflösen: direkte Overrides > benanntes Profil > erstes Profil > Defaults
|
||||||
|
var profile = ResolveProfile(job);
|
||||||
|
var printerName = !string.IsNullOrEmpty(job.PrinterOverride) ? job.PrinterOverride : profile.PrinterName;
|
||||||
|
var paperSource = !string.IsNullOrEmpty(job.PaperSourceOverride) ? job.PaperSourceOverride : profile.PaperSource;
|
||||||
|
var copies = job.CopiesOverride ?? profile.Copies;
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(printerName))
|
||||||
|
printerName = GetDefaultPrinter();
|
||||||
|
|
||||||
|
_logger.LogInformation("Drucke '{Subject}' → {Printer} | Fach: {Fach} | {Copies}x",
|
||||||
|
job.MailSubject, printerName, string.IsNullOrEmpty(paperSource) ? "Standard" : paperSource, copies);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
for (int i = 0; i < copies; i++)
|
||||||
|
PrintOnce(job.FilePath, printerName, paperSource);
|
||||||
|
_logger.LogInformation("Druck OK: {File}", job.FilePath);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "Druckfehler: {File}", job.FilePath);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
TryDelete(job.FilePath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private PrinterProfile ResolveProfile(PrintJob job)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(job.PrinterProfileName))
|
||||||
|
{
|
||||||
|
var p = _options.PrinterProfiles.FirstOrDefault(x =>
|
||||||
|
x.Name.Equals(job.PrinterProfileName, StringComparison.OrdinalIgnoreCase));
|
||||||
|
if (p != null) return p;
|
||||||
|
}
|
||||||
|
return _options.PrinterProfiles.FirstOrDefault() ?? new PrinterProfile();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PrintOnce(string pdfPath, string printerName, string paperSource)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(paperSource))
|
||||||
|
{
|
||||||
|
if (TryPrintViaSumatra(pdfPath, printerName)) return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// SumatraPDF mit bin=<FachName>
|
||||||
|
var sumatra = ResolveSumatra();
|
||||||
|
if (sumatra != null)
|
||||||
|
{
|
||||||
|
RunAndWait(sumatra,
|
||||||
|
$"-print-to \"{printerName}\" -print-settings \"bin={paperSource},noscale\" -silent \"{pdfPath}\"");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fallback Shell-Print
|
||||||
|
_logger.LogWarning("Kein SumatraPDF – Shell-Print (kein Papierfach-Support)");
|
||||||
|
var psi = new ProcessStartInfo { FileName = pdfPath, Verb = "print", UseShellExecute = true, WindowStyle = ProcessWindowStyle.Hidden };
|
||||||
|
using var p = Process.Start(psi)!;
|
||||||
|
p.WaitForExit(30_000);
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool TryPrintViaSumatra(string pdfPath, string printerName)
|
||||||
|
{
|
||||||
|
var s = ResolveSumatra();
|
||||||
|
if (s == null) return false;
|
||||||
|
RunAndWait(s, $"-print-to \"{printerName}\" -print-settings \"noscale\" -silent \"{pdfPath}\"");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string? ResolveSumatra()
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(_options.SumatraPath) && File.Exists(_options.SumatraPath))
|
||||||
|
return _options.SumatraPath;
|
||||||
|
return Array.Find(SumatraCandidates, File.Exists);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RunAndWait(string exe, string args)
|
||||||
|
{
|
||||||
|
_logger.LogDebug("Exec: {Exe} {Args}", exe, args);
|
||||||
|
var psi = new ProcessStartInfo(exe, args) { UseShellExecute = false, CreateNoWindow = true };
|
||||||
|
using var p = Process.Start(psi) ?? throw new InvalidOperationException($"Nicht startbar: {exe}");
|
||||||
|
if (!p.WaitForExit(60_000)) { p.Kill(); throw new TimeoutException($"Timeout: {exe}"); }
|
||||||
|
if (p.ExitCode != 0) _logger.LogWarning("ExitCode {Code}: {Exe}", p.ExitCode, exe);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<PrinterInfo> GetPrinterInfos()
|
||||||
|
{
|
||||||
|
var result = new List<PrinterInfo>();
|
||||||
|
foreach (string name in PrinterSettings.InstalledPrinters)
|
||||||
|
{
|
||||||
|
var ps = new PrinterSettings { PrinterName = name };
|
||||||
|
var sources = new List<string>();
|
||||||
|
foreach (PaperSource src in ps.PaperSources)
|
||||||
|
sources.Add(src.SourceName);
|
||||||
|
result.Add(new PrinterInfo(name, sources));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IEnumerable<string> GetAvailablePrinters() => GetPrinterInfos().Select(p => p.Name);
|
||||||
|
private static string GetDefaultPrinter() => new PrinterSettings().PrinterName;
|
||||||
|
private void TryDelete(string path)
|
||||||
|
{
|
||||||
|
try { if (File.Exists(path)) File.Delete(path); }
|
||||||
|
catch (Exception ex) { _logger.LogWarning(ex, "Temp nicht löschbar: {Path}", path); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public record PrinterInfo(string Name, List<string> PaperSources);
|
||||||
38
MailPrint/appsettings.json
Normal file
38
MailPrint/appsettings.json
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
{
|
||||||
|
"MailPrint": {
|
||||||
|
"Protocol": "IMAP",
|
||||||
|
"Host": "imap.example.com",
|
||||||
|
"Port": 993,
|
||||||
|
"UseSsl": true,
|
||||||
|
"Username": "druck@example.com",
|
||||||
|
"Password": "IHR_PASSWORT",
|
||||||
|
"Folder": "INBOX",
|
||||||
|
"PollIntervalSeconds": 60,
|
||||||
|
|
||||||
|
"AllowedSenders": [],
|
||||||
|
"SubjectFilter": "",
|
||||||
|
|
||||||
|
"PrinterName": "",
|
||||||
|
"Copies": 1,
|
||||||
|
"DeleteAfterPrint": true,
|
||||||
|
"MarkAsRead": true,
|
||||||
|
|
||||||
|
"TempDirectory": "C:\\ProgramData\\MailPrint\\Temp",
|
||||||
|
"AllowedExtensions": [ ".pdf" ],
|
||||||
|
|
||||||
|
"WebApi": {
|
||||||
|
"Port": 5100,
|
||||||
|
"BindAllInterfaces": true,
|
||||||
|
"ApiKey": "SICHERER_ZUFAELLIGER_KEY"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog": {
|
||||||
|
"MinimumLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Override": {
|
||||||
|
"Microsoft": "Warning",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/MailKit.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/MailKit.dll
Normal file
Binary file not shown.
451
MailPrint/bin/Release/net10.0-windows/MailPrint.deps.json
Normal file
451
MailPrint/bin/Release/net10.0-windows/MailPrint.deps.json
Normal file
|
|
@ -0,0 +1,451 @@
|
||||||
|
{
|
||||||
|
"runtimeTarget": {
|
||||||
|
"name": ".NETCoreApp,Version=v10.0",
|
||||||
|
"signature": ""
|
||||||
|
},
|
||||||
|
"compilationOptions": {},
|
||||||
|
"targets": {
|
||||||
|
".NETCoreApp,Version=v10.0": {
|
||||||
|
"MailPrint/1.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"MailKit": "4.7.1.1",
|
||||||
|
"Microsoft.Extensions.Hosting.WindowsServices": "10.0.0-preview.3.25171.5",
|
||||||
|
"MimeKit": "4.7.1",
|
||||||
|
"Serilog.AspNetCore": "9.0.0",
|
||||||
|
"Serilog.Sinks.Console": "6.0.0",
|
||||||
|
"Serilog.Sinks.EventLog": "4.0.0",
|
||||||
|
"Serilog.Sinks.File": "6.0.0",
|
||||||
|
"Swashbuckle.AspNetCore": "7.3.1",
|
||||||
|
"System.Drawing.Common": "9.0.4"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"MailPrint.dll": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"BouncyCastle.Cryptography/2.4.0": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/BouncyCastle.Cryptography.dll": {
|
||||||
|
"assemblyVersion": "2.0.0.0",
|
||||||
|
"fileVersion": "2.4.0.33771"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"MailKit/4.7.1.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"MimeKit": "4.7.1"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/MailKit.dll": {
|
||||||
|
"assemblyVersion": "4.7.0.0",
|
||||||
|
"fileVersion": "4.7.1.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.DependencyModel/9.0.0": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Microsoft.Extensions.DependencyModel.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.24.52809"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Hosting.WindowsServices/10.0.0-preview.3.25171.5": {
|
||||||
|
"dependencies": {
|
||||||
|
"System.ServiceProcess.ServiceController": "10.0.0-preview.3.25171.5"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net10.0/Microsoft.Extensions.Hosting.WindowsServices.dll": {
|
||||||
|
"assemblyVersion": "10.0.0.0",
|
||||||
|
"fileVersion": "10.0.25.17105"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.OpenApi/1.6.22": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/Microsoft.OpenApi.dll": {
|
||||||
|
"assemblyVersion": "1.6.22.0",
|
||||||
|
"fileVersion": "1.6.22.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Win32.SystemEvents/9.0.4": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Microsoft.Win32.SystemEvents.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.425.16305"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeTargets": {
|
||||||
|
"runtimes/win/lib/net9.0/Microsoft.Win32.SystemEvents.dll": {
|
||||||
|
"rid": "win",
|
||||||
|
"assetType": "runtime",
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.425.16305"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"MimeKit/4.7.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"BouncyCastle.Cryptography": "2.4.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/MimeKit.dll": {
|
||||||
|
"assemblyVersion": "4.7.0.0",
|
||||||
|
"fileVersion": "4.7.1.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog/4.2.0": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Serilog.dll": {
|
||||||
|
"assemblyVersion": "4.2.0.0",
|
||||||
|
"fileVersion": "4.2.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.AspNetCore/9.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0",
|
||||||
|
"Serilog.Extensions.Hosting": "9.0.0",
|
||||||
|
"Serilog.Formatting.Compact": "3.0.0",
|
||||||
|
"Serilog.Settings.Configuration": "9.0.0",
|
||||||
|
"Serilog.Sinks.Console": "6.0.0",
|
||||||
|
"Serilog.Sinks.Debug": "3.0.0",
|
||||||
|
"Serilog.Sinks.File": "6.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Serilog.AspNetCore.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Extensions.Hosting/9.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0",
|
||||||
|
"Serilog.Extensions.Logging": "9.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Serilog.Extensions.Hosting.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Extensions.Logging/9.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Serilog.Extensions.Logging.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Formatting.Compact/3.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/Serilog.Formatting.Compact.dll": {
|
||||||
|
"assemblyVersion": "3.0.0.0",
|
||||||
|
"fileVersion": "3.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Settings.Configuration/9.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.DependencyModel": "9.0.0",
|
||||||
|
"Serilog": "4.2.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Serilog.Settings.Configuration.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.Console/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/Serilog.Sinks.Console.dll": {
|
||||||
|
"assemblyVersion": "6.0.0.0",
|
||||||
|
"fileVersion": "6.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.Debug/3.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/Serilog.Sinks.Debug.dll": {
|
||||||
|
"assemblyVersion": "3.0.0.0",
|
||||||
|
"fileVersion": "3.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.EventLog/4.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/Serilog.Sinks.EventLog.dll": {
|
||||||
|
"assemblyVersion": "4.0.0.0",
|
||||||
|
"fileVersion": "4.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.File/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/Serilog.Sinks.File.dll": {
|
||||||
|
"assemblyVersion": "6.0.0.0",
|
||||||
|
"fileVersion": "6.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore/7.3.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"Swashbuckle.AspNetCore.Swagger": "7.3.1",
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerGen": "7.3.1",
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerUI": "7.3.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.Swagger/7.3.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.OpenApi": "1.6.22"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Swashbuckle.AspNetCore.Swagger.dll": {
|
||||||
|
"assemblyVersion": "7.3.1.0",
|
||||||
|
"fileVersion": "7.3.1.1111"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerGen/7.3.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"Swashbuckle.AspNetCore.Swagger": "7.3.1"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
|
||||||
|
"assemblyVersion": "7.3.1.0",
|
||||||
|
"fileVersion": "7.3.1.1111"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerUI/7.3.1": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
|
||||||
|
"assemblyVersion": "7.3.1.0",
|
||||||
|
"fileVersion": "7.3.1.1111"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Drawing.Common/9.0.4": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Win32.SystemEvents": "9.0.4"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/System.Drawing.Common.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.425.16312"
|
||||||
|
},
|
||||||
|
"lib/net9.0/System.Private.Windows.Core.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.425.16312"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.ServiceProcess.ServiceController/10.0.0-preview.3.25171.5": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net10.0/System.ServiceProcess.ServiceController.dll": {
|
||||||
|
"assemblyVersion": "10.0.0.0",
|
||||||
|
"fileVersion": "10.0.25.17105"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeTargets": {
|
||||||
|
"runtimes/win/lib/net10.0/System.ServiceProcess.ServiceController.dll": {
|
||||||
|
"rid": "win",
|
||||||
|
"assetType": "runtime",
|
||||||
|
"assemblyVersion": "10.0.0.0",
|
||||||
|
"fileVersion": "10.0.25.17105"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"MailPrint/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"serviceable": false,
|
||||||
|
"sha512": ""
|
||||||
|
},
|
||||||
|
"BouncyCastle.Cryptography/2.4.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==",
|
||||||
|
"path": "bouncycastle.cryptography/2.4.0",
|
||||||
|
"hashPath": "bouncycastle.cryptography.2.4.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"MailKit/4.7.1.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-Y3okmIxu8g/ZcoJiE2i+dCeKgnNyddsXmcJslZnCPGVPP0aRyeVINHV1h97V+OVMdqjQI6O12J2p8Duwq5UEqQ==",
|
||||||
|
"path": "mailkit/4.7.1.1",
|
||||||
|
"hashPath": "mailkit.4.7.1.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.DependencyModel/9.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-saxr2XzwgDU77LaQfYFXmddEDRUKHF4DaGMZkNB3qjdVSZlax3//dGJagJkKrGMIPNZs2jVFXITyCCR6UHJNdA==",
|
||||||
|
"path": "microsoft.extensions.dependencymodel/9.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.dependencymodel.9.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Hosting.WindowsServices/10.0.0-preview.3.25171.5": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-kL3TeKTEnkpQNuAxR5/CSi+7vQwKGXHl/pz+szetFjN8M39zWe5ECDHkcGk9xwcyhLv2aiuBQ1DqV45qXsfLag==",
|
||||||
|
"path": "microsoft.extensions.hosting.windowsservices/10.0.0-preview.3.25171.5",
|
||||||
|
"hashPath": "microsoft.extensions.hosting.windowsservices.10.0.0-preview.3.25171.5.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.OpenApi/1.6.22": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-aBvunmrdu/x+4CaA/UP1Jx4xWGwk4kymhoIRnn2Vp+zi5/KOPQJ9EkSXHRUr01WcGKtYl3Au7XfkPJbU1G2sjQ==",
|
||||||
|
"path": "microsoft.openapi/1.6.22",
|
||||||
|
"hashPath": "microsoft.openapi.1.6.22.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Win32.SystemEvents/9.0.4": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-kHgtAkXhNEP8oGuAVe3Q5admxsdMlSdWE2rXcA9FfeGDZJQawPccmZgnOswgW3ugUPSJt7VH+TMQPz65mnhGSQ==",
|
||||||
|
"path": "microsoft.win32.systemevents/9.0.4",
|
||||||
|
"hashPath": "microsoft.win32.systemevents.9.0.4.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"MimeKit/4.7.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-Qoj4aVvhX14A1FNvaJ33hzOP4VZI2j+Mr38I9wSGcjMq4BYDtWLJG89aJ9nRW2cNfH6Czjwyp7+Mh++xv3AZvg==",
|
||||||
|
"path": "mimekit/4.7.1",
|
||||||
|
"hashPath": "mimekit.4.7.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog/4.2.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-gmoWVOvKgbME8TYR+gwMf7osROiWAURterc6Rt2dQyX7wtjZYpqFiA/pY6ztjGQKKV62GGCyOcmtP1UKMHgSmA==",
|
||||||
|
"path": "serilog/4.2.0",
|
||||||
|
"hashPath": "serilog.4.2.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.AspNetCore/9.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-JslDajPlBsn3Pww1554flJFTqROvK9zz9jONNQgn0D8Lx2Trw8L0A8/n6zEQK1DAZWXrJwiVLw8cnTR3YFuYsg==",
|
||||||
|
"path": "serilog.aspnetcore/9.0.0",
|
||||||
|
"hashPath": "serilog.aspnetcore.9.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Extensions.Hosting/9.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-u2TRxuxbjvTAldQn7uaAwePkWxTHIqlgjelekBtilAGL5sYyF3+65NWctN4UrwwGLsDC7c3Vz3HnOlu+PcoxXg==",
|
||||||
|
"path": "serilog.extensions.hosting/9.0.0",
|
||||||
|
"hashPath": "serilog.extensions.hosting.9.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Extensions.Logging/9.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-NwSSYqPJeKNzl5AuXVHpGbr6PkZJFlNa14CdIebVjK3k/76kYj/mz5kiTRNVSsSaxM8kAIa1kpy/qyT9E4npRQ==",
|
||||||
|
"path": "serilog.extensions.logging/9.0.0",
|
||||||
|
"hashPath": "serilog.extensions.logging.9.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Formatting.Compact/3.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-wQsv14w9cqlfB5FX2MZpNsTawckN4a8dryuNGbebB/3Nh1pXnROHZov3swtu3Nj5oNG7Ba+xdu7Et/ulAUPanQ==",
|
||||||
|
"path": "serilog.formatting.compact/3.0.0",
|
||||||
|
"hashPath": "serilog.formatting.compact.3.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Settings.Configuration/9.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-4/Et4Cqwa+F88l5SeFeNZ4c4Z6dEAIKbu3MaQb2Zz9F/g27T5a3wvfMcmCOaAiACjfUb4A6wrlTVfyYUZk3RRQ==",
|
||||||
|
"path": "serilog.settings.configuration/9.0.0",
|
||||||
|
"hashPath": "serilog.settings.configuration.9.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.Console/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-fQGWqVMClCP2yEyTXPIinSr5c+CBGUvBybPxjAGcf7ctDhadFhrQw03Mv8rJ07/wR5PDfFjewf2LimvXCDzpbA==",
|
||||||
|
"path": "serilog.sinks.console/6.0.0",
|
||||||
|
"hashPath": "serilog.sinks.console.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.Debug/3.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-4BzXcdrgRX7wde9PmHuYd9U6YqycCC28hhpKonK7hx0wb19eiuRj16fPcPSVp0o/Y1ipJuNLYQ00R3q2Zs8FDA==",
|
||||||
|
"path": "serilog.sinks.debug/3.0.0",
|
||||||
|
"hashPath": "serilog.sinks.debug.3.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.EventLog/4.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-Cmfr5v407xVc0GA0Sk+RQCCBNvxvwY1lV5/k2bqLi3ksTvLx/KbGTVM2rA5Z/e2ZEZ12HOCvBviQ9Er9GsMjXQ==",
|
||||||
|
"path": "serilog.sinks.eventlog/4.0.0",
|
||||||
|
"hashPath": "serilog.sinks.eventlog.4.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.File/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-lxjg89Y8gJMmFxVkbZ+qDgjl+T4yC5F7WSLTvA+5q0R04tfKVLRL/EHpYoJ/MEQd2EeCKDuylBIVnAYMotmh2A==",
|
||||||
|
"path": "serilog.sinks.file/6.0.0",
|
||||||
|
"hashPath": "serilog.sinks.file.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore/7.3.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-6u8w+UXp/sF89xQjfydWw6znQrUpbpFOmEIs8ODE+S0bV+mCQ9dNP4mk+HRsGHylpDaP5KSYSCEfFSgluLXHsA==",
|
||||||
|
"path": "swashbuckle.aspnetcore/7.3.1",
|
||||||
|
"hashPath": "swashbuckle.aspnetcore.7.3.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.Swagger/7.3.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-jQuJ8kVbq+YE8WsJE3RwWHlF1kasp0QkA9Gl6NeNLICrhcgN8IQIthMufYW6t/4hpcN5cBIdES5jCEV81WjHbA==",
|
||||||
|
"path": "swashbuckle.aspnetcore.swagger/7.3.1",
|
||||||
|
"hashPath": "swashbuckle.aspnetcore.swagger.7.3.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerGen/7.3.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-xs7Pznb3SSjZy7HpThE0ILqECfQFsGDHOrRoIYD/j67ktdRR1juDG4AMyidXXCOipgzHanZoF+nFrc+Nmjqjyw==",
|
||||||
|
"path": "swashbuckle.aspnetcore.swaggergen/7.3.1",
|
||||||
|
"hashPath": "swashbuckle.aspnetcore.swaggergen.7.3.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerUI/7.3.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-hs6C+lmNEzipOA1WPQpIaGvvoXjUbnoevbv6l7o9ZQE8SNF8ggjOmK6NB6cYdMcEvk0uBeKl4Qq/BnRt5MFVqg==",
|
||||||
|
"path": "swashbuckle.aspnetcore.swaggerui/7.3.1",
|
||||||
|
"hashPath": "swashbuckle.aspnetcore.swaggerui.7.3.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Drawing.Common/9.0.4": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-SbtusMUT1bCxZ14904ZPo2GZyelze0rwUni9wXrp8KX9Zlsda8idqpxra1RBvOA85WM0wW+fCI4GLrlCTYiE6A==",
|
||||||
|
"path": "system.drawing.common/9.0.4",
|
||||||
|
"hashPath": "system.drawing.common.9.0.4.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.ServiceProcess.ServiceController/10.0.0-preview.3.25171.5": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-/Co2ApycIZx6M9tXQQNgk0g/JE3mYCP2HI5/VdCb48ZNbC52Tcgapej+DdWZn24ejfWwq6mavY7YMnsFm9nVEQ==",
|
||||||
|
"path": "system.serviceprocess.servicecontroller/10.0.0-preview.3.25171.5",
|
||||||
|
"hashPath": "system.serviceprocess.servicecontroller.10.0.0-preview.3.25171.5.nupkg.sha512"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
MailPrint/bin/Release/net10.0-windows/MailPrint.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/MailPrint.dll
Normal file
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/MailPrint.exe
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/MailPrint.exe
Normal file
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/MailPrint.pdb
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/MailPrint.pdb
Normal file
Binary file not shown.
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"runtimeOptions": {
|
||||||
|
"tfm": "net10.0",
|
||||||
|
"frameworks": [
|
||||||
|
{
|
||||||
|
"name": "Microsoft.NETCore.App",
|
||||||
|
"version": "10.0.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Microsoft.AspNetCore.App",
|
||||||
|
"version": "10.0.0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"configProperties": {
|
||||||
|
"System.GC.Server": true,
|
||||||
|
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
|
||||||
|
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false,
|
||||||
|
"CSWINRT_USE_WINDOWS_UI_XAML_PROJECTIONS": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"Version":1,"ManifestType":"Build","Endpoints":[]}
|
||||||
Binary file not shown.
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/Microsoft.OpenApi.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/Microsoft.OpenApi.dll
Normal file
Binary file not shown.
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/MimeKit.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/MimeKit.dll
Normal file
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/Serilog.AspNetCore.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/Serilog.AspNetCore.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/Serilog.Sinks.Console.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/Serilog.Sinks.Console.dll
Normal file
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/Serilog.Sinks.Debug.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/Serilog.Sinks.Debug.dll
Normal file
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/Serilog.Sinks.EventLog.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/Serilog.Sinks.EventLog.dll
Normal file
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/Serilog.Sinks.File.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/Serilog.Sinks.File.dll
Normal file
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/Serilog.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/Serilog.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/System.Drawing.Common.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/System.Drawing.Common.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
38
MailPrint/bin/Release/net10.0-windows/appsettings.json
Normal file
38
MailPrint/bin/Release/net10.0-windows/appsettings.json
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
{
|
||||||
|
"MailPrint": {
|
||||||
|
"Protocol": "IMAP",
|
||||||
|
"Host": "imap.example.com",
|
||||||
|
"Port": 993,
|
||||||
|
"UseSsl": true,
|
||||||
|
"Username": "druck@example.com",
|
||||||
|
"Password": "IHR_PASSWORT",
|
||||||
|
"Folder": "INBOX",
|
||||||
|
"PollIntervalSeconds": 60,
|
||||||
|
|
||||||
|
"AllowedSenders": [],
|
||||||
|
"SubjectFilter": "",
|
||||||
|
|
||||||
|
"PrinterName": "",
|
||||||
|
"Copies": 1,
|
||||||
|
"DeleteAfterPrint": true,
|
||||||
|
"MarkAsRead": true,
|
||||||
|
|
||||||
|
"TempDirectory": "C:\\ProgramData\\MailPrint\\Temp",
|
||||||
|
"AllowedExtensions": [ ".pdf" ],
|
||||||
|
|
||||||
|
"WebApi": {
|
||||||
|
"Port": 5100,
|
||||||
|
"BindAllInterfaces": true,
|
||||||
|
"ApiKey": "SICHERER_ZUFAELLIGER_KEY"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog": {
|
||||||
|
"MinimumLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Override": {
|
||||||
|
"Microsoft": "Warning",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/win-x64/MailKit.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/win-x64/MailKit.dll
Normal file
Binary file not shown.
|
|
@ -0,0 +1,436 @@
|
||||||
|
{
|
||||||
|
"runtimeTarget": {
|
||||||
|
"name": ".NETCoreApp,Version=v10.0/win-x64",
|
||||||
|
"signature": ""
|
||||||
|
},
|
||||||
|
"compilationOptions": {},
|
||||||
|
"targets": {
|
||||||
|
".NETCoreApp,Version=v10.0": {},
|
||||||
|
".NETCoreApp,Version=v10.0/win-x64": {
|
||||||
|
"MailPrint/1.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"MailKit": "4.7.1.1",
|
||||||
|
"Microsoft.Extensions.Hosting.WindowsServices": "10.0.0-preview.3.25171.5",
|
||||||
|
"MimeKit": "4.7.1",
|
||||||
|
"Serilog.AspNetCore": "9.0.0",
|
||||||
|
"Serilog.Sinks.Console": "6.0.0",
|
||||||
|
"Serilog.Sinks.EventLog": "4.0.0",
|
||||||
|
"Serilog.Sinks.File": "6.0.0",
|
||||||
|
"Swashbuckle.AspNetCore": "7.3.1",
|
||||||
|
"System.Drawing.Common": "9.0.4"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"MailPrint.dll": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"BouncyCastle.Cryptography/2.4.0": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/BouncyCastle.Cryptography.dll": {
|
||||||
|
"assemblyVersion": "2.0.0.0",
|
||||||
|
"fileVersion": "2.4.0.33771"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"MailKit/4.7.1.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"MimeKit": "4.7.1"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/MailKit.dll": {
|
||||||
|
"assemblyVersion": "4.7.0.0",
|
||||||
|
"fileVersion": "4.7.1.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.DependencyModel/9.0.0": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Microsoft.Extensions.DependencyModel.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.24.52809"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Hosting.WindowsServices/10.0.0-preview.3.25171.5": {
|
||||||
|
"dependencies": {
|
||||||
|
"System.ServiceProcess.ServiceController": "10.0.0-preview.3.25171.5"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net10.0/Microsoft.Extensions.Hosting.WindowsServices.dll": {
|
||||||
|
"assemblyVersion": "10.0.0.0",
|
||||||
|
"fileVersion": "10.0.25.17105"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.OpenApi/1.6.22": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/Microsoft.OpenApi.dll": {
|
||||||
|
"assemblyVersion": "1.6.22.0",
|
||||||
|
"fileVersion": "1.6.22.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Win32.SystemEvents/9.0.4": {
|
||||||
|
"runtime": {
|
||||||
|
"runtimes/win/lib/net9.0/Microsoft.Win32.SystemEvents.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.425.16305"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"MimeKit/4.7.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"BouncyCastle.Cryptography": "2.4.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/MimeKit.dll": {
|
||||||
|
"assemblyVersion": "4.7.0.0",
|
||||||
|
"fileVersion": "4.7.1.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog/4.2.0": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Serilog.dll": {
|
||||||
|
"assemblyVersion": "4.2.0.0",
|
||||||
|
"fileVersion": "4.2.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.AspNetCore/9.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0",
|
||||||
|
"Serilog.Extensions.Hosting": "9.0.0",
|
||||||
|
"Serilog.Formatting.Compact": "3.0.0",
|
||||||
|
"Serilog.Settings.Configuration": "9.0.0",
|
||||||
|
"Serilog.Sinks.Console": "6.0.0",
|
||||||
|
"Serilog.Sinks.Debug": "3.0.0",
|
||||||
|
"Serilog.Sinks.File": "6.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Serilog.AspNetCore.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Extensions.Hosting/9.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0",
|
||||||
|
"Serilog.Extensions.Logging": "9.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Serilog.Extensions.Hosting.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Extensions.Logging/9.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Serilog.Extensions.Logging.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Formatting.Compact/3.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/Serilog.Formatting.Compact.dll": {
|
||||||
|
"assemblyVersion": "3.0.0.0",
|
||||||
|
"fileVersion": "3.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Settings.Configuration/9.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.DependencyModel": "9.0.0",
|
||||||
|
"Serilog": "4.2.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Serilog.Settings.Configuration.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.Console/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/Serilog.Sinks.Console.dll": {
|
||||||
|
"assemblyVersion": "6.0.0.0",
|
||||||
|
"fileVersion": "6.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.Debug/3.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/Serilog.Sinks.Debug.dll": {
|
||||||
|
"assemblyVersion": "3.0.0.0",
|
||||||
|
"fileVersion": "3.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.EventLog/4.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/Serilog.Sinks.EventLog.dll": {
|
||||||
|
"assemblyVersion": "4.0.0.0",
|
||||||
|
"fileVersion": "4.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.File/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "4.2.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/Serilog.Sinks.File.dll": {
|
||||||
|
"assemblyVersion": "6.0.0.0",
|
||||||
|
"fileVersion": "6.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore/7.3.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"Swashbuckle.AspNetCore.Swagger": "7.3.1",
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerGen": "7.3.1",
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerUI": "7.3.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.Swagger/7.3.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.OpenApi": "1.6.22"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Swashbuckle.AspNetCore.Swagger.dll": {
|
||||||
|
"assemblyVersion": "7.3.1.0",
|
||||||
|
"fileVersion": "7.3.1.1111"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerGen/7.3.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"Swashbuckle.AspNetCore.Swagger": "7.3.1"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
|
||||||
|
"assemblyVersion": "7.3.1.0",
|
||||||
|
"fileVersion": "7.3.1.1111"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerUI/7.3.1": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
|
||||||
|
"assemblyVersion": "7.3.1.0",
|
||||||
|
"fileVersion": "7.3.1.1111"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Drawing.Common/9.0.4": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Win32.SystemEvents": "9.0.4"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net9.0/System.Drawing.Common.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.425.16312"
|
||||||
|
},
|
||||||
|
"lib/net9.0/System.Private.Windows.Core.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.425.16312"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.ServiceProcess.ServiceController/10.0.0-preview.3.25171.5": {
|
||||||
|
"runtime": {
|
||||||
|
"runtimes/win/lib/net10.0/System.ServiceProcess.ServiceController.dll": {
|
||||||
|
"assemblyVersion": "10.0.0.0",
|
||||||
|
"fileVersion": "10.0.25.17105"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"MailPrint/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"serviceable": false,
|
||||||
|
"sha512": ""
|
||||||
|
},
|
||||||
|
"BouncyCastle.Cryptography/2.4.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-SwXsAV3sMvAU/Nn31pbjhWurYSjJ+/giI/0n6tCrYoupEK34iIHCuk3STAd9fx8yudM85KkLSVdn951vTng/vQ==",
|
||||||
|
"path": "bouncycastle.cryptography/2.4.0",
|
||||||
|
"hashPath": "bouncycastle.cryptography.2.4.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"MailKit/4.7.1.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-Y3okmIxu8g/ZcoJiE2i+dCeKgnNyddsXmcJslZnCPGVPP0aRyeVINHV1h97V+OVMdqjQI6O12J2p8Duwq5UEqQ==",
|
||||||
|
"path": "mailkit/4.7.1.1",
|
||||||
|
"hashPath": "mailkit.4.7.1.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.DependencyModel/9.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-saxr2XzwgDU77LaQfYFXmddEDRUKHF4DaGMZkNB3qjdVSZlax3//dGJagJkKrGMIPNZs2jVFXITyCCR6UHJNdA==",
|
||||||
|
"path": "microsoft.extensions.dependencymodel/9.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.dependencymodel.9.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Hosting.WindowsServices/10.0.0-preview.3.25171.5": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-kL3TeKTEnkpQNuAxR5/CSi+7vQwKGXHl/pz+szetFjN8M39zWe5ECDHkcGk9xwcyhLv2aiuBQ1DqV45qXsfLag==",
|
||||||
|
"path": "microsoft.extensions.hosting.windowsservices/10.0.0-preview.3.25171.5",
|
||||||
|
"hashPath": "microsoft.extensions.hosting.windowsservices.10.0.0-preview.3.25171.5.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.OpenApi/1.6.22": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-aBvunmrdu/x+4CaA/UP1Jx4xWGwk4kymhoIRnn2Vp+zi5/KOPQJ9EkSXHRUr01WcGKtYl3Au7XfkPJbU1G2sjQ==",
|
||||||
|
"path": "microsoft.openapi/1.6.22",
|
||||||
|
"hashPath": "microsoft.openapi.1.6.22.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Win32.SystemEvents/9.0.4": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-kHgtAkXhNEP8oGuAVe3Q5admxsdMlSdWE2rXcA9FfeGDZJQawPccmZgnOswgW3ugUPSJt7VH+TMQPz65mnhGSQ==",
|
||||||
|
"path": "microsoft.win32.systemevents/9.0.4",
|
||||||
|
"hashPath": "microsoft.win32.systemevents.9.0.4.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"MimeKit/4.7.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-Qoj4aVvhX14A1FNvaJ33hzOP4VZI2j+Mr38I9wSGcjMq4BYDtWLJG89aJ9nRW2cNfH6Czjwyp7+Mh++xv3AZvg==",
|
||||||
|
"path": "mimekit/4.7.1",
|
||||||
|
"hashPath": "mimekit.4.7.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog/4.2.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-gmoWVOvKgbME8TYR+gwMf7osROiWAURterc6Rt2dQyX7wtjZYpqFiA/pY6ztjGQKKV62GGCyOcmtP1UKMHgSmA==",
|
||||||
|
"path": "serilog/4.2.0",
|
||||||
|
"hashPath": "serilog.4.2.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.AspNetCore/9.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-JslDajPlBsn3Pww1554flJFTqROvK9zz9jONNQgn0D8Lx2Trw8L0A8/n6zEQK1DAZWXrJwiVLw8cnTR3YFuYsg==",
|
||||||
|
"path": "serilog.aspnetcore/9.0.0",
|
||||||
|
"hashPath": "serilog.aspnetcore.9.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Extensions.Hosting/9.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-u2TRxuxbjvTAldQn7uaAwePkWxTHIqlgjelekBtilAGL5sYyF3+65NWctN4UrwwGLsDC7c3Vz3HnOlu+PcoxXg==",
|
||||||
|
"path": "serilog.extensions.hosting/9.0.0",
|
||||||
|
"hashPath": "serilog.extensions.hosting.9.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Extensions.Logging/9.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-NwSSYqPJeKNzl5AuXVHpGbr6PkZJFlNa14CdIebVjK3k/76kYj/mz5kiTRNVSsSaxM8kAIa1kpy/qyT9E4npRQ==",
|
||||||
|
"path": "serilog.extensions.logging/9.0.0",
|
||||||
|
"hashPath": "serilog.extensions.logging.9.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Formatting.Compact/3.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-wQsv14w9cqlfB5FX2MZpNsTawckN4a8dryuNGbebB/3Nh1pXnROHZov3swtu3Nj5oNG7Ba+xdu7Et/ulAUPanQ==",
|
||||||
|
"path": "serilog.formatting.compact/3.0.0",
|
||||||
|
"hashPath": "serilog.formatting.compact.3.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Settings.Configuration/9.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-4/Et4Cqwa+F88l5SeFeNZ4c4Z6dEAIKbu3MaQb2Zz9F/g27T5a3wvfMcmCOaAiACjfUb4A6wrlTVfyYUZk3RRQ==",
|
||||||
|
"path": "serilog.settings.configuration/9.0.0",
|
||||||
|
"hashPath": "serilog.settings.configuration.9.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.Console/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-fQGWqVMClCP2yEyTXPIinSr5c+CBGUvBybPxjAGcf7ctDhadFhrQw03Mv8rJ07/wR5PDfFjewf2LimvXCDzpbA==",
|
||||||
|
"path": "serilog.sinks.console/6.0.0",
|
||||||
|
"hashPath": "serilog.sinks.console.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.Debug/3.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-4BzXcdrgRX7wde9PmHuYd9U6YqycCC28hhpKonK7hx0wb19eiuRj16fPcPSVp0o/Y1ipJuNLYQ00R3q2Zs8FDA==",
|
||||||
|
"path": "serilog.sinks.debug/3.0.0",
|
||||||
|
"hashPath": "serilog.sinks.debug.3.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.EventLog/4.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-Cmfr5v407xVc0GA0Sk+RQCCBNvxvwY1lV5/k2bqLi3ksTvLx/KbGTVM2rA5Z/e2ZEZ12HOCvBviQ9Er9GsMjXQ==",
|
||||||
|
"path": "serilog.sinks.eventlog/4.0.0",
|
||||||
|
"hashPath": "serilog.sinks.eventlog.4.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.File/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-lxjg89Y8gJMmFxVkbZ+qDgjl+T4yC5F7WSLTvA+5q0R04tfKVLRL/EHpYoJ/MEQd2EeCKDuylBIVnAYMotmh2A==",
|
||||||
|
"path": "serilog.sinks.file/6.0.0",
|
||||||
|
"hashPath": "serilog.sinks.file.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore/7.3.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-6u8w+UXp/sF89xQjfydWw6znQrUpbpFOmEIs8ODE+S0bV+mCQ9dNP4mk+HRsGHylpDaP5KSYSCEfFSgluLXHsA==",
|
||||||
|
"path": "swashbuckle.aspnetcore/7.3.1",
|
||||||
|
"hashPath": "swashbuckle.aspnetcore.7.3.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.Swagger/7.3.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-jQuJ8kVbq+YE8WsJE3RwWHlF1kasp0QkA9Gl6NeNLICrhcgN8IQIthMufYW6t/4hpcN5cBIdES5jCEV81WjHbA==",
|
||||||
|
"path": "swashbuckle.aspnetcore.swagger/7.3.1",
|
||||||
|
"hashPath": "swashbuckle.aspnetcore.swagger.7.3.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerGen/7.3.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-xs7Pznb3SSjZy7HpThE0ILqECfQFsGDHOrRoIYD/j67ktdRR1juDG4AMyidXXCOipgzHanZoF+nFrc+Nmjqjyw==",
|
||||||
|
"path": "swashbuckle.aspnetcore.swaggergen/7.3.1",
|
||||||
|
"hashPath": "swashbuckle.aspnetcore.swaggergen.7.3.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerUI/7.3.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-hs6C+lmNEzipOA1WPQpIaGvvoXjUbnoevbv6l7o9ZQE8SNF8ggjOmK6NB6cYdMcEvk0uBeKl4Qq/BnRt5MFVqg==",
|
||||||
|
"path": "swashbuckle.aspnetcore.swaggerui/7.3.1",
|
||||||
|
"hashPath": "swashbuckle.aspnetcore.swaggerui.7.3.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Drawing.Common/9.0.4": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-SbtusMUT1bCxZ14904ZPo2GZyelze0rwUni9wXrp8KX9Zlsda8idqpxra1RBvOA85WM0wW+fCI4GLrlCTYiE6A==",
|
||||||
|
"path": "system.drawing.common/9.0.4",
|
||||||
|
"hashPath": "system.drawing.common.9.0.4.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.ServiceProcess.ServiceController/10.0.0-preview.3.25171.5": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-/Co2ApycIZx6M9tXQQNgk0g/JE3mYCP2HI5/VdCb48ZNbC52Tcgapej+DdWZn24ejfWwq6mavY7YMnsFm9nVEQ==",
|
||||||
|
"path": "system.serviceprocess.servicecontroller/10.0.0-preview.3.25171.5",
|
||||||
|
"hashPath": "system.serviceprocess.servicecontroller.10.0.0-preview.3.25171.5.nupkg.sha512"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
MailPrint/bin/Release/net10.0-windows/win-x64/MailPrint.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/win-x64/MailPrint.dll
Normal file
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/win-x64/MailPrint.exe
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/win-x64/MailPrint.exe
Normal file
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/win-x64/MailPrint.pdb
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/win-x64/MailPrint.pdb
Normal file
Binary file not shown.
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"runtimeOptions": {
|
||||||
|
"tfm": "net10.0",
|
||||||
|
"frameworks": [
|
||||||
|
{
|
||||||
|
"name": "Microsoft.NETCore.App",
|
||||||
|
"version": "10.0.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Microsoft.AspNetCore.App",
|
||||||
|
"version": "10.0.0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"configProperties": {
|
||||||
|
"System.GC.Server": true,
|
||||||
|
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
|
||||||
|
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false,
|
||||||
|
"CSWINRT_USE_WINDOWS_UI_XAML_PROJECTIONS": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"Version":1,"ManifestType":"Build","Endpoints":[]}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/win-x64/MimeKit.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/win-x64/MimeKit.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
MailPrint/bin/Release/net10.0-windows/win-x64/Serilog.dll
Normal file
BIN
MailPrint/bin/Release/net10.0-windows/win-x64/Serilog.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,38 @@
|
||||||
|
{
|
||||||
|
"MailPrint": {
|
||||||
|
"Protocol": "IMAP",
|
||||||
|
"Host": "imap.example.com",
|
||||||
|
"Port": 993,
|
||||||
|
"UseSsl": true,
|
||||||
|
"Username": "druck@example.com",
|
||||||
|
"Password": "IHR_PASSWORT",
|
||||||
|
"Folder": "INBOX",
|
||||||
|
"PollIntervalSeconds": 60,
|
||||||
|
|
||||||
|
"AllowedSenders": [],
|
||||||
|
"SubjectFilter": "",
|
||||||
|
|
||||||
|
"PrinterName": "",
|
||||||
|
"Copies": 1,
|
||||||
|
"DeleteAfterPrint": true,
|
||||||
|
"MarkAsRead": true,
|
||||||
|
|
||||||
|
"TempDirectory": "C:\\ProgramData\\MailPrint\\Temp",
|
||||||
|
"AllowedExtensions": [ ".pdf" ],
|
||||||
|
|
||||||
|
"WebApi": {
|
||||||
|
"Port": 5100,
|
||||||
|
"BindAllInterfaces": true,
|
||||||
|
"ApiKey": "SICHERER_ZUFAELLIGER_KEY"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog": {
|
||||||
|
"MinimumLevel": {
|
||||||
|
"Default": "Information",
|
||||||
|
"Override": {
|
||||||
|
"Microsoft": "Warning",
|
||||||
|
"Microsoft.AspNetCore": "Warning"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
BIN
MailPrint/bin/Release/net6.0-windows/MailKit.dll
Normal file
BIN
MailPrint/bin/Release/net6.0-windows/MailKit.dll
Normal file
Binary file not shown.
986
MailPrint/bin/Release/net6.0-windows/MailPrint.deps.json
Normal file
986
MailPrint/bin/Release/net6.0-windows/MailPrint.deps.json
Normal file
|
|
@ -0,0 +1,986 @@
|
||||||
|
{
|
||||||
|
"runtimeTarget": {
|
||||||
|
"name": ".NETCoreApp,Version=v6.0",
|
||||||
|
"signature": ""
|
||||||
|
},
|
||||||
|
"compilationOptions": {},
|
||||||
|
"targets": {
|
||||||
|
".NETCoreApp,Version=v6.0": {
|
||||||
|
"MailPrint/1.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"MailKit": "4.3.0",
|
||||||
|
"Microsoft.Extensions.Hosting.WindowsServices": "6.0.1",
|
||||||
|
"MimeKit": "4.3.0",
|
||||||
|
"Serilog.AspNetCore": "6.1.0",
|
||||||
|
"Serilog.Sinks.EventLog": "3.1.0",
|
||||||
|
"Serilog.Sinks.File": "5.0.0",
|
||||||
|
"Swashbuckle.AspNetCore": "6.5.0",
|
||||||
|
"System.Drawing.Common": "6.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"MailPrint.dll": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"BouncyCastle.Cryptography/2.2.1": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/BouncyCastle.Cryptography.dll": {
|
||||||
|
"assemblyVersion": "2.0.0.0",
|
||||||
|
"fileVersion": "2.2.1.47552"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"MailKit/4.3.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"MimeKit": "4.3.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/MailKit.dll": {
|
||||||
|
"assemblyVersion": "4.3.0.0",
|
||||||
|
"fileVersion": "4.3.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.ApiDescription.Server/6.0.5": {},
|
||||||
|
"Microsoft.Extensions.Configuration/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Primitives": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Primitives": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration.Binder/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration.CommandLine/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Configuration": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration.EnvironmentVariables/6.0.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Configuration": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": {
|
||||||
|
"assemblyVersion": "6.0.0.0",
|
||||||
|
"fileVersion": "6.0.222.6406"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration.FileExtensions/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Configuration": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.FileProviders.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.FileProviders.Physical": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Primitives": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration.Json/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Configuration": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.FileExtensions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.FileProviders.Abstractions": "6.0.0",
|
||||||
|
"System.Text.Json": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration.UserSecrets/6.0.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.Json": "6.0.0",
|
||||||
|
"Microsoft.Extensions.FileProviders.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.FileProviders.Physical": "6.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.dll": {
|
||||||
|
"assemblyVersion": "6.0.0.0",
|
||||||
|
"fileVersion": "6.0.222.6406"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.DependencyInjection/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": {},
|
||||||
|
"Microsoft.Extensions.DependencyModel/3.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"System.Text.Json": "6.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": {
|
||||||
|
"assemblyVersion": "3.0.0.0",
|
||||||
|
"fileVersion": "3.0.19.46305"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.FileProviders.Abstractions/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Primitives": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.FileProviders.Physical/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.FileProviders.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.FileSystemGlobbing": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Primitives": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.FileSystemGlobbing/6.0.0": {},
|
||||||
|
"Microsoft.Extensions.Hosting/6.0.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Configuration": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.Binder": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.CommandLine": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1",
|
||||||
|
"Microsoft.Extensions.Configuration.FileExtensions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.Json": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.UserSecrets": "6.0.1",
|
||||||
|
"Microsoft.Extensions.DependencyInjection": "6.0.0",
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.FileProviders.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.FileProviders.Physical": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Hosting.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Configuration": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Console": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Debug": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.EventLog": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.EventSource": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Options": "6.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/Microsoft.Extensions.Hosting.dll": {
|
||||||
|
"assemblyVersion": "6.0.0.0",
|
||||||
|
"fileVersion": "6.0.222.6406"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Hosting.Abstractions/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.FileProviders.Abstractions": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Hosting.WindowsServices/6.0.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Hosting": "6.0.1",
|
||||||
|
"Microsoft.Extensions.Logging.EventLog": "6.0.0",
|
||||||
|
"System.ServiceProcess.ServiceController": "6.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.1/Microsoft.Extensions.Hosting.WindowsServices.dll": {
|
||||||
|
"assemblyVersion": "6.0.0.1",
|
||||||
|
"fileVersion": "6.0.1022.47605"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Logging/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.DependencyInjection": "6.0.0",
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Options": "6.0.0",
|
||||||
|
"System.Diagnostics.DiagnosticSource": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Logging.Abstractions/6.0.0": {},
|
||||||
|
"Microsoft.Extensions.Logging.Configuration/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Configuration": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.Binder": "6.0.0",
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Options": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Logging.Console/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Configuration": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Options": "6.0.0",
|
||||||
|
"System.Text.Json": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Logging.Debug/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Abstractions": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Logging.EventLog/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Options": "6.0.0",
|
||||||
|
"System.Diagnostics.EventLog": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Logging.EventSource/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Options": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Primitives": "6.0.0",
|
||||||
|
"System.Runtime.CompilerServices.Unsafe": "6.0.0",
|
||||||
|
"System.Text.Json": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Options/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Primitives": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Options.ConfigurationExtensions/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Configuration.Binder": "6.0.0",
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Options": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Primitives": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Primitives/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.OpenApi/1.2.3": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/Microsoft.OpenApi.dll": {
|
||||||
|
"assemblyVersion": "1.2.3.0",
|
||||||
|
"fileVersion": "1.2.3.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.Win32.SystemEvents/6.0.0": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
|
||||||
|
"assemblyVersion": "6.0.0.0",
|
||||||
|
"fileVersion": "6.0.21.52210"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeTargets": {
|
||||||
|
"runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
|
||||||
|
"rid": "win",
|
||||||
|
"assetType": "runtime",
|
||||||
|
"assemblyVersion": "6.0.0.0",
|
||||||
|
"fileVersion": "6.0.21.52210"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"MimeKit/4.3.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"BouncyCastle.Cryptography": "2.2.1",
|
||||||
|
"System.Runtime.CompilerServices.Unsafe": "6.0.0",
|
||||||
|
"System.Security.Cryptography.Pkcs": "7.0.3",
|
||||||
|
"System.Text.Encoding.CodePages": "7.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/MimeKit.dll": {
|
||||||
|
"assemblyVersion": "4.3.0.0",
|
||||||
|
"fileVersion": "4.3.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog/2.10.0": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.1/Serilog.dll": {
|
||||||
|
"assemblyVersion": "2.0.0.0",
|
||||||
|
"fileVersion": "2.10.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.AspNetCore/6.1.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.DependencyInjection": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging": "6.0.0",
|
||||||
|
"Serilog": "2.10.0",
|
||||||
|
"Serilog.Extensions.Hosting": "5.0.1",
|
||||||
|
"Serilog.Formatting.Compact": "1.1.0",
|
||||||
|
"Serilog.Settings.Configuration": "3.3.0",
|
||||||
|
"Serilog.Sinks.Console": "4.0.1",
|
||||||
|
"Serilog.Sinks.Debug": "2.0.0",
|
||||||
|
"Serilog.Sinks.File": "5.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net5.0/Serilog.AspNetCore.dll": {
|
||||||
|
"assemblyVersion": "2.0.0.0",
|
||||||
|
"fileVersion": "6.1.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Extensions.Hosting/5.0.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Hosting.Abstractions": "6.0.0",
|
||||||
|
"Microsoft.Extensions.Logging.Abstractions": "6.0.0",
|
||||||
|
"Serilog": "2.10.0",
|
||||||
|
"Serilog.Extensions.Logging": "3.1.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.1/Serilog.Extensions.Hosting.dll": {
|
||||||
|
"assemblyVersion": "2.0.0.0",
|
||||||
|
"fileVersion": "5.0.1.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Extensions.Logging/3.1.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.Logging": "6.0.0",
|
||||||
|
"Serilog": "2.10.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/Serilog.Extensions.Logging.dll": {
|
||||||
|
"assemblyVersion": "2.0.0.0",
|
||||||
|
"fileVersion": "3.1.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Formatting.Compact/1.1.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "2.10.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/Serilog.Formatting.Compact.dll": {
|
||||||
|
"assemblyVersion": "1.1.0.0",
|
||||||
|
"fileVersion": "1.1.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Settings.Configuration/3.3.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.DependencyModel": "3.0.0",
|
||||||
|
"Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0",
|
||||||
|
"Serilog": "2.10.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/Serilog.Settings.Configuration.dll": {
|
||||||
|
"assemblyVersion": "3.3.0.0",
|
||||||
|
"fileVersion": "3.3.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.Console/4.0.1": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "2.10.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net5.0/Serilog.Sinks.Console.dll": {
|
||||||
|
"assemblyVersion": "4.0.1.0",
|
||||||
|
"fileVersion": "4.0.1.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.Debug/2.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "2.10.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.1/Serilog.Sinks.Debug.dll": {
|
||||||
|
"assemblyVersion": "2.0.0.0",
|
||||||
|
"fileVersion": "2.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.EventLog/3.1.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "2.10.0",
|
||||||
|
"System.Diagnostics.EventLog": "6.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/Serilog.Sinks.EventLog.dll": {
|
||||||
|
"assemblyVersion": "3.0.0.0",
|
||||||
|
"fileVersion": "3.1.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.File/5.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Serilog": "2.10.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net5.0/Serilog.Sinks.File.dll": {
|
||||||
|
"assemblyVersion": "5.0.0.0",
|
||||||
|
"fileVersion": "5.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore/6.5.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Extensions.ApiDescription.Server": "6.0.5",
|
||||||
|
"Swashbuckle.AspNetCore.Swagger": "6.5.0",
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerGen": "6.5.0",
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerUI": "6.5.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.Swagger/6.5.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.OpenApi": "1.2.3"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll": {
|
||||||
|
"assemblyVersion": "6.5.0.0",
|
||||||
|
"fileVersion": "6.5.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerGen/6.5.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Swashbuckle.AspNetCore.Swagger": "6.5.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
|
||||||
|
"assemblyVersion": "6.5.0.0",
|
||||||
|
"fileVersion": "6.5.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerUI/6.5.0": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
|
||||||
|
"assemblyVersion": "6.5.0.0",
|
||||||
|
"fileVersion": "6.5.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Diagnostics.DiagnosticSource/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Diagnostics.EventLog/6.0.0": {},
|
||||||
|
"System.Drawing.Common/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Microsoft.Win32.SystemEvents": "6.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/System.Drawing.Common.dll": {
|
||||||
|
"assemblyVersion": "6.0.0.0",
|
||||||
|
"fileVersion": "6.0.21.52210"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeTargets": {
|
||||||
|
"runtimes/unix/lib/net6.0/System.Drawing.Common.dll": {
|
||||||
|
"rid": "unix",
|
||||||
|
"assetType": "runtime",
|
||||||
|
"assemblyVersion": "6.0.0.0",
|
||||||
|
"fileVersion": "6.0.21.52210"
|
||||||
|
},
|
||||||
|
"runtimes/win/lib/net6.0/System.Drawing.Common.dll": {
|
||||||
|
"rid": "win",
|
||||||
|
"assetType": "runtime",
|
||||||
|
"assemblyVersion": "6.0.0.0",
|
||||||
|
"fileVersion": "6.0.21.52210"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Formats.Asn1/7.0.0": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/System.Formats.Asn1.dll": {
|
||||||
|
"assemblyVersion": "7.0.0.0",
|
||||||
|
"fileVersion": "7.0.22.51805"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Runtime.CompilerServices.Unsafe/6.0.0": {},
|
||||||
|
"System.Security.Cryptography.Pkcs/7.0.3": {
|
||||||
|
"dependencies": {
|
||||||
|
"System.Formats.Asn1": "7.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/System.Security.Cryptography.Pkcs.dll": {
|
||||||
|
"assemblyVersion": "7.0.0.0",
|
||||||
|
"fileVersion": "7.0.823.31807"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeTargets": {
|
||||||
|
"runtimes/win/lib/net6.0/System.Security.Cryptography.Pkcs.dll": {
|
||||||
|
"rid": "win",
|
||||||
|
"assetType": "runtime",
|
||||||
|
"assemblyVersion": "7.0.0.0",
|
||||||
|
"fileVersion": "7.0.823.31807"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.ServiceProcess.ServiceController/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"System.Diagnostics.EventLog": "6.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/System.ServiceProcess.ServiceController.dll": {
|
||||||
|
"assemblyVersion": "6.0.0.0",
|
||||||
|
"fileVersion": "6.0.21.52210"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeTargets": {
|
||||||
|
"runtimes/win/lib/net6.0/System.ServiceProcess.ServiceController.dll": {
|
||||||
|
"rid": "win",
|
||||||
|
"assetType": "runtime",
|
||||||
|
"assemblyVersion": "6.0.0.0",
|
||||||
|
"fileVersion": "6.0.21.52210"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Text.Encoding.CodePages/7.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/System.Text.Encoding.CodePages.dll": {
|
||||||
|
"assemblyVersion": "7.0.0.0",
|
||||||
|
"fileVersion": "7.0.22.51805"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeTargets": {
|
||||||
|
"runtimes/win/lib/net6.0/System.Text.Encoding.CodePages.dll": {
|
||||||
|
"rid": "win",
|
||||||
|
"assetType": "runtime",
|
||||||
|
"assemblyVersion": "7.0.0.0",
|
||||||
|
"fileVersion": "7.0.22.51805"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Text.Encodings.Web/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"System.Text.Json/6.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"System.Runtime.CompilerServices.Unsafe": "6.0.0",
|
||||||
|
"System.Text.Encodings.Web": "6.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"MailPrint/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"serviceable": false,
|
||||||
|
"sha512": ""
|
||||||
|
},
|
||||||
|
"BouncyCastle.Cryptography/2.2.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-A6Zr52zVqJKt18ZBsTnX0qhG0kwIQftVAjLmszmkiR/trSp8H+xj1gUOzk7XHwaKgyREMSV1v9XaKrBUeIOdvQ==",
|
||||||
|
"path": "bouncycastle.cryptography/2.2.1",
|
||||||
|
"hashPath": "bouncycastle.cryptography.2.2.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"MailKit/4.3.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-jVmB3Nr0JpqhyMiXOGWMin+QvRKpucGpSFBCav9dG6jEJPdBV+yp1RHVpKzxZPfT+0adaBuZlMFdbIciZo1EWA==",
|
||||||
|
"path": "mailkit/4.3.0",
|
||||||
|
"hashPath": "mailkit.4.3.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.ApiDescription.Server/6.0.5": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==",
|
||||||
|
"path": "microsoft.extensions.apidescription.server/6.0.5",
|
||||||
|
"hashPath": "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-tq2wXyh3fL17EMF2bXgRhU7JrbO3on93MRKYxzz4JzzvuGSA1l0W3GI9/tl8EO89TH+KWEymP7bcFway6z9fXg==",
|
||||||
|
"path": "microsoft.extensions.configuration/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.configuration.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration.Abstractions/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==",
|
||||||
|
"path": "microsoft.extensions.configuration.abstractions/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration.Binder/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==",
|
||||||
|
"path": "microsoft.extensions.configuration.binder/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.configuration.binder.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration.CommandLine/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-3nL1qCkZ1Oxx14ZTzgo4MmlO7tso7F+TtMZAY2jUAtTLyAcDp+EDjk3RqafoKiNaePyPvvlleEcBxh3b2Hzl1g==",
|
||||||
|
"path": "microsoft.extensions.configuration.commandline/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.configuration.commandline.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration.EnvironmentVariables/6.0.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-pnyXV1LFOsYjGveuC07xp0YHIyGq7jRq5Ncb5zrrIieMLWVwgMyYxcOH0jTnBedDT4Gh1QinSqsjqzcieHk1og==",
|
||||||
|
"path": "microsoft.extensions.configuration.environmentvariables/6.0.1",
|
||||||
|
"hashPath": "microsoft.extensions.configuration.environmentvariables.6.0.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration.FileExtensions/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==",
|
||||||
|
"path": "microsoft.extensions.configuration.fileextensions/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.configuration.fileextensions.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration.Json/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==",
|
||||||
|
"path": "microsoft.extensions.configuration.json/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.configuration.json.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Configuration.UserSecrets/6.0.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-Fy8yr4V6obi7ZxvKYI1i85jqtwMq8tqyxQVZpRSkgeA8enqy/KvBIMdcuNdznlxQMZa72mvbHqb7vbg4Pyx95w==",
|
||||||
|
"path": "microsoft.extensions.configuration.usersecrets/6.0.1",
|
||||||
|
"hashPath": "microsoft.extensions.configuration.usersecrets.6.0.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.DependencyInjection/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==",
|
||||||
|
"path": "microsoft.extensions.dependencyinjection/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==",
|
||||||
|
"path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.DependencyModel/3.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-Iaectmzg9Dc4ZbKX/FurrRjgO/I8rTumL5UU+Uube6vZuGetcnXoIgTA94RthFWePhdMVm8MMhVFJZdbzMsdyQ==",
|
||||||
|
"path": "microsoft.extensions.dependencymodel/3.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.dependencymodel.3.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.FileProviders.Abstractions/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==",
|
||||||
|
"path": "microsoft.extensions.fileproviders.abstractions/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.fileproviders.abstractions.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.FileProviders.Physical/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==",
|
||||||
|
"path": "microsoft.extensions.fileproviders.physical/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.fileproviders.physical.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.FileSystemGlobbing/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==",
|
||||||
|
"path": "microsoft.extensions.filesystemglobbing/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.filesystemglobbing.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Hosting/6.0.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-hbmizc9KPWOacLU8Z8YMaBG6KWdZFppczYV/KwnPGU/8xebWxQxdDeJmLOgg968prb7g2oQgnp6JVLX6lgby8g==",
|
||||||
|
"path": "microsoft.extensions.hosting/6.0.1",
|
||||||
|
"hashPath": "microsoft.extensions.hosting.6.0.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Hosting.Abstractions/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==",
|
||||||
|
"path": "microsoft.extensions.hosting.abstractions/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.hosting.abstractions.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Hosting.WindowsServices/6.0.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-0vaOeMeDpVUqvOJ0pHugoOqTZULdq7c0kZLzzlrQwUZ7ScUat27d8hrK3IxJ7FWF3OBZXSjA2nWYRcdA5WG9wg==",
|
||||||
|
"path": "microsoft.extensions.hosting.windowsservices/6.0.1",
|
||||||
|
"hashPath": "microsoft.extensions.hosting.windowsservices.6.0.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Logging/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==",
|
||||||
|
"path": "microsoft.extensions.logging/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.logging.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Logging.Abstractions/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==",
|
||||||
|
"path": "microsoft.extensions.logging.abstractions/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Logging.Configuration/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==",
|
||||||
|
"path": "microsoft.extensions.logging.configuration/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.logging.configuration.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Logging.Console/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-gsqKzOEdsvq28QiXFxagmn1oRB9GeI5GgYCkoybZtQA0IUb7QPwf1WmN3AwJeNIsadTvIFQCiVK0OVIgKfOBGg==",
|
||||||
|
"path": "microsoft.extensions.logging.console/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.logging.console.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Logging.Debug/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-M9g/JixseSZATJE9tcMn9uzoD4+DbSglivFqVx8YkRJ7VVPmnvCEbOZ0AAaxsL1EKyI4cz07DXOOJExxNsUOHw==",
|
||||||
|
"path": "microsoft.extensions.logging.debug/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.logging.debug.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Logging.EventLog/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-rlo0RxlMd0WtLG3CHI0qOTp6fFn7MvQjlrCjucA31RqmiMFCZkF8CHNbe8O7tbBIyyoLGWB1he9CbaA5iyHthg==",
|
||||||
|
"path": "microsoft.extensions.logging.eventlog/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.logging.eventlog.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Logging.EventSource/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-BeDyyqt7nkm/nr+Gdk+L8n1tUT/u33VkbXAOesgYSNsxDM9hJ1NOBGoZfj9rCbeD2+9myElI6JOVVFmnzgeWQA==",
|
||||||
|
"path": "microsoft.extensions.logging.eventsource/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.logging.eventsource.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Options/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==",
|
||||||
|
"path": "microsoft.extensions.options/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.options.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Options.ConfigurationExtensions/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==",
|
||||||
|
"path": "microsoft.extensions.options.configurationextensions/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.options.configurationextensions.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Extensions.Primitives/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==",
|
||||||
|
"path": "microsoft.extensions.primitives/6.0.0",
|
||||||
|
"hashPath": "microsoft.extensions.primitives.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.OpenApi/1.2.3": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==",
|
||||||
|
"path": "microsoft.openapi/1.2.3",
|
||||||
|
"hashPath": "microsoft.openapi.1.2.3.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.Win32.SystemEvents/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==",
|
||||||
|
"path": "microsoft.win32.systemevents/6.0.0",
|
||||||
|
"hashPath": "microsoft.win32.systemevents.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"MimeKit/4.3.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-39KDXuERDy5VmHIn7NnCWvIVp/Ar4qnxZWg9m06DfRqDbW1B6zFv9o3Tdoa4CCu71tE/0SRqRCN5Z+bbffw6uw==",
|
||||||
|
"path": "mimekit/4.3.0",
|
||||||
|
"hashPath": "mimekit.4.3.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog/2.10.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-+QX0hmf37a0/OZLxM3wL7V6/ADvC1XihXN4Kq/p6d8lCPfgkRdiuhbWlMaFjR9Av0dy5F0+MBeDmDdRZN/YwQA==",
|
||||||
|
"path": "serilog/2.10.0",
|
||||||
|
"hashPath": "serilog.2.10.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.AspNetCore/6.1.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-iMwFUJDN+/yWIPz4TKCliagJ1Yn//SceCYCzgdPwe/ECYUwb5/WUL8cTzRKV+tFwxGjLEV/xpm0GupS5RwbhSQ==",
|
||||||
|
"path": "serilog.aspnetcore/6.1.0",
|
||||||
|
"hashPath": "serilog.aspnetcore.6.1.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Extensions.Hosting/5.0.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-o0VUyt3npAqOJaZ6CiWLFeLYs3CYJwfcAqaUqprzsmj7qYIvorcn8cZLVR8AQX6vzX7gee2bD0sQeA17iO2/Aw==",
|
||||||
|
"path": "serilog.extensions.hosting/5.0.1",
|
||||||
|
"hashPath": "serilog.extensions.hosting.5.0.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Extensions.Logging/3.1.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-IWfem7wfrFbB3iw1OikqPFNPEzfayvDuN4WP7Ue1AVFskalMByeWk3QbtUXQR34SBkv1EbZ3AySHda/ErDgpcg==",
|
||||||
|
"path": "serilog.extensions.logging/3.1.0",
|
||||||
|
"hashPath": "serilog.extensions.logging.3.1.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Formatting.Compact/1.1.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-pNroKVjo+rDqlxNG5PXkRLpfSCuDOBY0ri6jp9PLe505ljqwhwZz8ospy2vWhQlFu5GkIesh3FcDs4n7sWZODA==",
|
||||||
|
"path": "serilog.formatting.compact/1.1.0",
|
||||||
|
"hashPath": "serilog.formatting.compact.1.1.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Settings.Configuration/3.3.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-7GNudISZwqaT902hqEL2OFGTZeUFWfnrNLupJkOqeF41AR3GjcxX+Hwb30xb8gG2/CDXsCMVfF8o0+8KY0fJNg==",
|
||||||
|
"path": "serilog.settings.configuration/3.3.0",
|
||||||
|
"hashPath": "serilog.settings.configuration.3.3.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.Console/4.0.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==",
|
||||||
|
"path": "serilog.sinks.console/4.0.1",
|
||||||
|
"hashPath": "serilog.sinks.console.4.0.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.Debug/2.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-Y6g3OBJ4JzTyyw16fDqtFcQ41qQAydnEvEqmXjhwhgjsnG/FaJ8GUqF5ldsC/bVkK8KYmqrPhDO+tm4dF6xx4A==",
|
||||||
|
"path": "serilog.sinks.debug/2.0.0",
|
||||||
|
"hashPath": "serilog.sinks.debug.2.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.EventLog/3.1.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-NZukSBsuyGqcA8h6VI4SC84vmwjw08OKJUEXFktSx7wPokWIwx/Mk9cdqSvadwLIC+2Stmpz1vG6EP5OZ5indQ==",
|
||||||
|
"path": "serilog.sinks.eventlog/3.1.0",
|
||||||
|
"hashPath": "serilog.sinks.eventlog.3.1.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Serilog.Sinks.File/5.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-uwV5hdhWPwUH1szhO8PJpFiahqXmzPzJT/sOijH/kFgUx+cyoDTMM8MHD0adw9+Iem6itoibbUXHYslzXsLEAg==",
|
||||||
|
"path": "serilog.sinks.file/5.0.0",
|
||||||
|
"hashPath": "serilog.sinks.file.5.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore/6.5.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-FK05XokgjgwlCI6wCT+D4/abtQkL1X1/B9Oas6uIwHFmYrIO9WUD5aLC9IzMs9GnHfUXOtXZ2S43gN1mhs5+aA==",
|
||||||
|
"path": "swashbuckle.aspnetcore/6.5.0",
|
||||||
|
"hashPath": "swashbuckle.aspnetcore.6.5.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.Swagger/6.5.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-XWmCmqyFmoItXKFsQSwQbEAsjDKcxlNf1l+/Ki42hcb6LjKL8m5Db69OTvz5vLonMSRntYO1XLqz0OP+n3vKnA==",
|
||||||
|
"path": "swashbuckle.aspnetcore.swagger/6.5.0",
|
||||||
|
"hashPath": "swashbuckle.aspnetcore.swagger.6.5.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerGen/6.5.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-Y/qW8Qdg9OEs7V013tt+94OdPxbRdbhcEbw4NiwGvf4YBcfhL/y7qp/Mjv/cENsQ2L3NqJ2AOu94weBy/h4KvA==",
|
||||||
|
"path": "swashbuckle.aspnetcore.swaggergen/6.5.0",
|
||||||
|
"hashPath": "swashbuckle.aspnetcore.swaggergen.6.5.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Swashbuckle.AspNetCore.SwaggerUI/6.5.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-OvbvxX+wL8skxTBttcBsVxdh73Fag4xwqEU2edh4JMn7Ws/xJHnY/JB1e9RoCb6XpDxUF3hD9A0Z1lEUx40Pfw==",
|
||||||
|
"path": "swashbuckle.aspnetcore.swaggerui/6.5.0",
|
||||||
|
"hashPath": "swashbuckle.aspnetcore.swaggerui.6.5.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Diagnostics.DiagnosticSource/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==",
|
||||||
|
"path": "system.diagnostics.diagnosticsource/6.0.0",
|
||||||
|
"hashPath": "system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Diagnostics.EventLog/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==",
|
||||||
|
"path": "system.diagnostics.eventlog/6.0.0",
|
||||||
|
"hashPath": "system.diagnostics.eventlog.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Drawing.Common/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==",
|
||||||
|
"path": "system.drawing.common/6.0.0",
|
||||||
|
"hashPath": "system.drawing.common.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Formats.Asn1/7.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-+nfpV0afLmvJW8+pLlHxRjz3oZJw4fkyU9MMEaMhCsHi/SN9bGF9q79ROubDiwTiCHezmK0uCWkPP7tGFP/4yg==",
|
||||||
|
"path": "system.formats.asn1/7.0.0",
|
||||||
|
"hashPath": "system.formats.asn1.7.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
|
||||||
|
"path": "system.runtime.compilerservices.unsafe/6.0.0",
|
||||||
|
"hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Security.Cryptography.Pkcs/7.0.3": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-yhwEHH5Gzl/VoADrXtt5XC95OFoSjNSWLHNutE7GwdOgefZVRvEXRSooSpL8HHm3qmdd9epqzsWg28UJemt22w==",
|
||||||
|
"path": "system.security.cryptography.pkcs/7.0.3",
|
||||||
|
"hashPath": "system.security.cryptography.pkcs.7.0.3.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.ServiceProcess.ServiceController/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-qMBvG8ZFbkXoe0Z5/D7FAAadfPkH2v7vSuh2xsLf3U6jNoejpIdeV18A0htiASsLK1CCAc/p59kaLXlt2yB1gw==",
|
||||||
|
"path": "system.serviceprocess.servicecontroller/6.0.0",
|
||||||
|
"hashPath": "system.serviceprocess.servicecontroller.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Text.Encoding.CodePages/7.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==",
|
||||||
|
"path": "system.text.encoding.codepages/7.0.0",
|
||||||
|
"hashPath": "system.text.encoding.codepages.7.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Text.Encodings.Web/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==",
|
||||||
|
"path": "system.text.encodings.web/6.0.0",
|
||||||
|
"hashPath": "system.text.encodings.web.6.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"System.Text.Json/6.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==",
|
||||||
|
"path": "system.text.json/6.0.0",
|
||||||
|
"hashPath": "system.text.json.6.0.0.nupkg.sha512"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
MailPrint/bin/Release/net6.0-windows/MailPrint.dll
Normal file
BIN
MailPrint/bin/Release/net6.0-windows/MailPrint.dll
Normal file
Binary file not shown.
BIN
MailPrint/bin/Release/net6.0-windows/MailPrint.exe
Normal file
BIN
MailPrint/bin/Release/net6.0-windows/MailPrint.exe
Normal file
Binary file not shown.
BIN
MailPrint/bin/Release/net6.0-windows/MailPrint.pdb
Normal file
BIN
MailPrint/bin/Release/net6.0-windows/MailPrint.pdb
Normal file
Binary file not shown.
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"runtimeOptions": {
|
||||||
|
"tfm": "net6.0",
|
||||||
|
"frameworks": [
|
||||||
|
{
|
||||||
|
"name": "Microsoft.NETCore.App",
|
||||||
|
"version": "6.0.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Microsoft.AspNetCore.App",
|
||||||
|
"version": "6.0.0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"configProperties": {
|
||||||
|
"System.GC.Server": true,
|
||||||
|
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
|
||||||
|
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
MailPrint/bin/Release/net6.0-windows/Microsoft.OpenApi.dll
Normal file
BIN
MailPrint/bin/Release/net6.0-windows/Microsoft.OpenApi.dll
Normal file
Binary file not shown.
Binary file not shown.
BIN
MailPrint/bin/Release/net6.0-windows/MimeKit.dll
Normal file
BIN
MailPrint/bin/Release/net6.0-windows/MimeKit.dll
Normal file
Binary file not shown.
BIN
MailPrint/bin/Release/net6.0-windows/Serilog.AspNetCore.dll
Normal file
BIN
MailPrint/bin/Release/net6.0-windows/Serilog.AspNetCore.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue