26b13f6dbf
New internal service that centralises SMTP email sending. - email-api-models: SendEmailRequest DTO, IEmailApiClient Refit interface, EmailApiSettings - email-api: SmtpEmailDispatcher (MailKit), EmailController (POST /api/email/send), branded HTML shell wrapper, shared-Files-volume attachment support - Protected by X-Internal-Api-Key via UseInternalApiKeyProtection() - No exposed Docker port — internal network only (http://email-api:8080) Closes #22 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
28 lines
1.2 KiB
XML
28 lines
1.2 KiB
XML
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
<PropertyGroup>
|
|
<TargetFramework>net10.0</TargetFramework>
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
|
<RootNamespace>EmailApi</RootNamespace>
|
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
|
<NoWarn>$(NoWarn);1591</NoWarn>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<PackageReference Include="MailKit" />
|
|
<PackageReference Include="Serilog.AspNetCore" />
|
|
<PackageReference Include="Serilog.Enrichers.Environment" />
|
|
<PackageReference Include="Serilog.Sinks.Console" />
|
|
<PackageReference Include="Serilog.Sinks.Email" />
|
|
<PackageReference Include="Swashbuckle.AspNetCore" />
|
|
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\..\Helpers\common-helpers\common-helpers.csproj" />
|
|
<ProjectReference Include="..\..\Helpers\startup-helpers\startup-helpers.csproj" />
|
|
<ProjectReference Include="..\api-models\api-models.csproj" />
|
|
<ProjectReference Include="..\common\common.csproj" />
|
|
<ProjectReference Include="..\email-api-models\email-api-models.csproj" />
|
|
</ItemGroup>
|
|
</Project>
|