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