Práce se zprávami a filtry v Gmailu

Začínáme s IGmailClient

Aspose.Email pro .NET poskytuje robustní podporu pro interakci s Gmailem prostřednictvím IGmailClient rozhraní. Můžete spravovat zprávy a filtry v Gmail schránce — včetně výpisu, načítání, odesílání, připojování a mazání e‑mailů, stejně jako správu vlastních filtrů pro automatickou klasifikaci.

Pro použití funkcí Gmailu musíte inicializovat instanci IGmailClient pomocí clientId, clientSecret, refreshToken a cílové e‑mailové adresy. Všechny níže uvedené příklady předpokládají toto nastavení:

using (IGmailClient client = GmailClient.GetInstance(clientId, clientSecret, refreshToken, email))
{
    // Work with messages or filters
}

Seznam zpráv v Gmail schránce

Načíst všechny zprávy ze schránky jako lehké GmailMessageInfo objektů. Následující ukázkový kód demonstruje, jak získat seznam dostupných zpráv v Gmail schránce bez načítání úplného obsahu:

var messages = client.ListMessages();

Načíst a smazat Gmail zprávy

Níže uvedený ukázkový kód demonstruje, jak číst a mazat zprávy z Gmailu pomocí jejich jedinečných identifikátorů:

  1. Použijte client.ListMessages() pro získání seznamu zpráv.
  2. Nastavte for smyčku pro iteraci přes první tři zprávy.
  3. Uvnitř smyčky načtěte každou zprávu pomocí client.FetchMessage(messages[i].Id).
  4. Vytiskněte předmět a tělo načtené zprávy.
  5. Zavolejte client.DeleteMessage(messages[i].Id, true) pro smazání zprávy a přesunutí do koše.
  6. Potvrďte smazání pomocí zprávy.
var messages = client.ListMessages();

for (int i = 0; i < 3; i++)
{
    var msg = client.FetchMessage(messages[i].Id);
    Console.WriteLine($"Message {i + 1}: Subject - {msg.Subject}, Body - {msg.Body}");

    client.DeleteMessage(messages[i].Id, true);
    Console.WriteLine($"Message {i + 1} moved to trash.");
}

Odeslat zprávu přes Gmail

Sestavte a odešlete e‑mail, včetně příloh, pomocí metody SendMessage(). Níže uvedený ukázkový kód demonstruje, jak odeslat e‑mail přes Gmail s přílohou:

MailMessage message = new MailMessage("sender@example.com", "recipient@example.com", "Weekly Report", "Attached is the weekly report.");

string attachmentPath = Path.Combine(TestUtil.GetTestDataPath(), "report.pdf");
message.Attachments.Add(new Attachment(attachmentPath));

string messageId = client.SendMessage(message);
Console.WriteLine($"Message with attachment sent! ID: {messageId}");