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ů:
- Použijte client.ListMessages() pro získání seznamu zpráv.
- Nastavte for smyčku pro iteraci přes první tři zprávy.
- Uvnitř smyčky načtěte každou zprávu pomocí client.FetchMessage(messages[i].Id).
- Vytiskněte předmět a tělo načtené zprávy.
- Zavolejte client.DeleteMessage(messages[i].Id, true) pro smazání zprávy a přesunutí do koše.
- 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}");