Przejdź do treści

TailoredApps.Shared.Email.Models

NuGet License: MIT


Opis

Lekki pakiet zawierający wyłącznie model danych MailMessage — reprezentację wiadomości e-mail. Wydzielenie modelu do osobnego pakietu pozwala innym bibliotekom (np. TailoredApps.Shared.Email.Office365) zależeć tylko od modelu, bez ciągnięcia za sobą całej implementacji SMTP.


Instalacja

dotnet add package TailoredApps.Shared.Email.Models

Przykład użycia

using TailoredApps.Shared.Email.Models;

// Przykład: wyświetlenie listy odebranych wiadomości
ICollection<MailMessage> messages = await emailProvider.GetMail(
    folder: "Inbox",
    sender: "boss@company.com",
    fromLast: TimeSpan.FromDays(7)
);

foreach (var msg in messages)
{
    Console.WriteLine($"[{msg.Date:yyyy-MM-dd}] Od: {msg.Sender}");
    Console.WriteLine($"  Temat: {msg.Topic}");
    Console.WriteLine($"  Do:    {msg.Recipent}");

    if (!string.IsNullOrEmpty(msg.HtmlBody))
        Console.WriteLine($"  (HTML body, {msg.HtmlBody.Length} znaków)");

    if (msg.Attachements?.Count > 0)
        Console.WriteLine($"  Załączniki: {string.Join(", ", msg.Attachements.Keys)}");
}

API Reference

Klasa MailMessage

Właściwość Typ Opis
Topic string Temat wiadomości
Sender string Adres nadawcy
Recipent string Adres odbiorcy
Copy string Adres CC (kopia)
Body string Treść tekstowa (plain-text)
HtmlBody string Treść HTML
Attachements Dictionary<string, string> Załączniki: nazwa pliku → zawartość Base64
Date DateTimeOffset Data i czas wysłania wiadomości

🤖 AI Agent Prompt

## TailoredApps.Shared.Email.Models — Instrukcja dla agenta AI

Używasz modelu `MailMessage` z biblioteki TailoredApps.Shared.Email.Models.

### Model MailMessage
```csharp
// Właściwości:
msg.Topic       // temat
msg.Sender      // nadawca
msg.Recipent    // odbiorca  
msg.Copy        // CC
msg.Body        // treść plain-text
msg.HtmlBody    // treść HTML
msg.Attachements // Dictionary<string, string> — Base64 załączniki
msg.Date        // DateTimeOffset — data wysłania

Zasady

  • Model jest używany jako zwracana wartość przez IEmailProvider.GetMail()
  • Załączniki przechowywane jako Base64 — dekoduj przez Convert.FromBase64String() gdy potrzebujesz byte[]
  • Właściwość Recipent (nie Recipient) — literówka w API, nie zmieniaj ```